Java循环结构可以减少很多的代码量,但是这里的循环不是"死循环",必须设置一个条件让其停止,当达到目的了就应当停止,否则计算机会进入死循环,直至崩溃。
xxxxxxxxxx
while( 布尔表达式 ) {
//循环内容
}
只要布尔表达式为true就一直进行循环操作,这时我们为了控制循环次数,需要设置一个“循环变量”,并再每次循环中进行自增操作。
xxxxxxxxxx
int i = 0;//循环变量
while (i<=20){
System.out.println("第"+i+"次循环")
i++;
}
一定要记得加上i++
自增操作,否则会进入死循环。
xxxxxxxxxx
do {
//代码语句
}while(布尔表达式);
先运行一次代码语句再行判断,如果为真则继续循环,否则跳出循环。
上面的while循环和do-while循环都需要自己设置循环变量,一不小心就会忘记,于是就会进入死循环,所有人们发明了for循环,如下:
xxxxxxxxxx
for(初始化; 布尔表达式; 更新) {
//代码语句
}
初始化意为初始化一个循环变量,就跟初始化/声明其它变量一样,例如:int i = 1
,这里的声明和赋值放在一起进行。
第二部分的布尔表达式,是循环的条件,例如:i <= 20
,如果i小于等于20则继续循环,如果不等则跳出循环。
第三部分的更新是每次循环结束
后,注意是结束后
进行循环变量的更新,例如:i++
。
通过If语句,我们就可以很方便地将循环结构清晰地表达出来,一目了然。
break意为“打破;破坏”,此处意为“跳出”。我们在switch语句中已经认识过break了,在循环结构中,break意为跳出该循环,直接执行循环后面的代码块,不管循环条件为真还是假。例如:我想要将1到10的自然数依次相加,当加到结果大于20的时候就不加了,直接返回那个大于20的最小的数,这时就可以用到break了,如下:
xxxxxxxxxx
int total = 0;
for(int i=0;i<=10;i++){
total = total + i;
if (total>20){
break;
}
}
System.out.println(total);
代码中出现break,那么整个循环就会终止,直接执行下面的输出语句。
continue意为“继续”,此处意为“跳过”。在循环结构中,continue表示跳过本次循环,直接进入下一次循环。例如:我想要输出1到5除了3以外的自然数的和,这时就可以用到continue了,加一个if判断,如果加到3,则放过它,直接进入下一次循环。
xxxxxxxxxx
int total = 0;
for(int i=0;i<=5;i++){
if(i=3){
continue;
}
total = total+i;
}
System.out.println(total);
此处continue就直接跳过了3,3不参与运算,直接进入4了。
Java的循环支持嵌套,且嵌套循环没有限制(即可以while循环里面套一个for循环)。但是在循环中需要注意变量名不能重复。例如:学校中有三个年级,每个年级有5个班,输出每个班级的名称,格式为101班。
xxxxxxxxxx
for(int grade=1;grade<=3;grade++){
for(int Class=1;Class<=5;Class++){
System.out.print(grade+"0"+Class+"班");
}
}
输出结果如下图: