Day005 for循环
for循环
虽然所有循环结构都可以用while或者do-while表示,但java提供了另一种语句--for循环,使一些循环结构变得更加简单。
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
for循环执行的次数是在执行前就确定的。语法格式如下:
for(初始化;布尔表达式;更新){
//代码语句
}
int a=1;//初始化条件 while(a<=100)//条件判断
{
System.out.println(a);//循环体
a++;//迭代
} System.out.println("while循环结束"); //初始化值//条件判断//迭代
for(int i=1;i<=100;i++){
System.out.println(i);
} System.out.println("for循环结束");
for循环快捷键
100.for+回车
fori+回车
死循环的写法
for(;;){
}
练习1:计算0~100之间的奇数和与偶数和
even:偶数 old:奇数
//计算0~100之间奇数和与偶数和
int sumEven=0;//偶数和
int sumOld=0;//奇数和
for (int i = 0; i <=100; i++) {
if(i%2==1){
sumOld+=i;
}else
{
sumEven+=i;
}
}
System.out.println("奇数和为"+sumOld);
System.out.println("偶数和为"+sumEven);
输出结果
奇数和为2500
偶数和为2550
练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
\t 制表符 \n换行符
print() 输出后不会换行
println() 输出后换行
//练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
for (int i = 0; i <= 1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
}
if(i%15==0){
System.out.print("\n");
}
}
输出结果
0
5 10 15
20 25 30
35 40 45
50 55 60
65 70 75
80 85 90
95 100 105
110 115 120
125 130 135
140 145 150
155 160 165
170 175 180
185 190 195
200 205 210
215 220 225
230 235 240
245 250 255
260 265 270
275 280 285
290 295 300
305 310 315
320 325 330
335 340 345
350 355 360
365 370 375
380 385 390
395 400 405
410 415 420
425 430 435
440 445 450
455 460 465
470 475 480
485 490 495
500 505 510
515 520 525
530 535 540
545 550 555
560 565 570
575 580 585
590 595 600
605 610 615
620 625 630
635 640 645
650 655 660
665 670 675
680 685 690
695 700 705
710 715 720
725 730 735
740 745 750
755 760 765
770 775 780
785 790 795
800 805 810
815 820 825
830 835 840
845 850 855
860 865 870
875 880 885
890 895 900
905 910 915
920 925 930
935 940 945
950 955 960
965 970 975
980 985 990
995 1000
练习三:打印九九乘法表
for (int j = 1; j < 10; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(i+"*"+j+"="+i*j+'\t');
}
System.out.println();
}
输出结果
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
增强for循环
jdk5引入了一种用于数组和集合的增强for循环
语法
for(声明语句:表达式){
//代码
}
正常的for循环遍历数组
int[] numbers={10,20,30,40,50};//定义一个数组 for(int i=0;i<numbers.length;i++){
System.out.println(numbers[i]);
}
增强for循环遍历数组
int[] numbers={10,20,30,40,50};//定义一个数组 for(int x:numbers){
System.out.println(x);
}
break、continue、goto
- break:在任何循环语句的主体部分,均可用break强行退出循环,不执行循环中剩余的语句。(也能用在switch语句中)
- continue:语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
break例子
int i= 0;
while (i<100){
i++;
if(i==30){
break;
}
}
System.out.println(i);
输出结果
30
continue例子
int i=0;
while (i<10){
i++;
if(i%3==0){
System.out.println();
continue;
}
System.out.print(i+"\t");
}
输出结果
1 2
4 5
7 8
10
break和continue的区别
break(辞职):不干了,跳出循环
continue(请假):这次请个假,循环到下次接着干
goto(了解就行,不建议使用)
- goto关键字很早就在程序设计语言中出现,尽管goto是java的一个关键字,但并未在语言中得到正式使用;java中没有goto。然而,在break和continue这两个关键字的身上,我们任然能看到一些goto的影子----带标签的break和continue。
- “标签”是指后面跟一个冒号的标识符,例如 :label:
- 对于java来说唯一用到标签的地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
标签例子(打印101-150之间的所有质数)
//打印101-150之间的所有质数
//质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
int count=0;
//不建议使用
outer:for (int i = 101; i <150 ; i++) {
for (int j=2;j<i/2;j++){
if(i%j==0){
continue outer;
}
}
System.out.print(i+"\t");
}
输出结果
101 103 107 109 113 127 131 137 139 149
练习 打印三角形
//打印三角形 5行
//行
for (int i = 1; i <=5; i++) {
//打印空格
for (int j=5;j>=i;j--){
System.out.print(" ");
}
//打印左半边三角形
for (int j=1;j<=i;j++){
System.out.print("*");
}
//打印右半边三角形
for (int j = 1; j <i ; j++) {
System.out.print("*");
}
System.out.println();
}
输出结果
*
***
*****
*******
*********
Day005 for循环的更多相关文章
- 【.net 深呼吸】细说CodeDom(8):分支与循环
有人会问,为啥 CodeDom 不会生成 switch 语句,为啥没生成 while 语句之类.要注意,CodeDom只关心代码逻辑,而不是语法,语法是给写代码的人用的.如果用.net的“反编译”工具 ...
- Recurrent Neural Network系列1--RNN(循环神经网络)概述
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- 模仿Linux内核kfifo实现的循环缓存
想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...
- 【JS基础】循环
for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被 ...
- 【python之路4】循环语句之while
1.while 循环语句 #!/usr/bin/env python # -*- coding:utf-8 -*- import time bol = True while bol: print '1 ...
- To Java程序员:切勿用普通for循环遍历LinkedList
ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...
- JavaScript单线程和浏览器事件循环简述
JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...
- .NET基础 一步步 一幕幕[循环、逻辑语句块]
循环.逻辑语句块 好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...
随机推荐
- 1_JVM与Java体系结构
目录 JVM与Java体系结构 前言 架构师每天都在思考什么? 为什么要学习JVM Java vs C++ 推荐书籍 Java生态圈 字节码 多语言混合编程 Java发展的重大事件 虚拟机与Java虚 ...
- ElasticSearch入门篇(保姆级教程)
本章将介绍:ElasticSearch的作用,搭建elasticsearch的环境(Windows/Linux),ElasticSearch集群的搭建,可视化客户端插件elasticsearch-he ...
- RSA典型非对称加密算法
私钥加密-->公钥解密,反之亦然,但不安全.也可以当做数字签名. public class RSACoder { //非对称加密算法 public static ...
- c++ 反汇编 局部静态变量
vs2017下测试 34: for (int i = 0; i < 5; i++) 0029734E C7 45 F8 00 00 00 00 mov dword ptr [ebp-8],0 0 ...
- C++ 虚函数的内部实现
C++ 虚函数的内部实现 虚函数看起来是个玄之又玄的东西,但其实特别简单!了解了虚函数的内部实现,关于虚函数的各种问题都不在话下啦! 1. 知识储备 阅读这篇文章,你需要事先了解以下几个概念: 什么是 ...
- 文件连接--ln
ln -n file1 file2 将文件2设置为文件1的软连接:file1和file2 任何一个改动都会反馈到另一方,删除源文件, 软连接文件不可用 ln -s file1 file2 将文件2 ...
- [图论]牛的旅行 Cow Tours :Floyed-Warshall
牛的旅行 Cow Tours 目录 牛的旅行 Cow Tours 题目描述 输入格式 输出格式 输入输出样例 输入 #1 输出 #1 解析 代码 题目描述 农民 John的农场里有很多牧区.有的路径连 ...
- noip初赛复习总纲
初赛复习总纲 目录 初赛复习总纲 计算机发展史 计算机的分类 计算机的应用 操作系统盘点 计算机的基本结构 中央处理器(**CPU**--**Central Processing Unit**) 存储 ...
- 使用Portainer部署Docker容器实践
一.背景 最近在使用rancher2.5.5部署Redis主从复制的时候,发现rancher会产生很多iptables的规则,这些规则导致我们在部署了rancher的机器上无法使用Redis的主从复制 ...
- Git版本控制之-创建配置本地git仓库
查看全局配置:code .gitconfig [code 就代表的用vscode 打开gitconfig 文件,如果是 sublime 就是 subl ][如果打开失败说明环境变量没有配置] [只有配 ...