三种基本循环结构
while
while(布尔表达式){
//当布尔表达式为true时运行此处代码
//包含要循环执行部分的代码
//包含步进表达式,使当循环一定次数后,布尔表达式取false
//步进表达式举例:数值递增递减,指针后移
}
do…while
do{
//此处代码先执行一次,再对布尔表达式进行判断,若为true,则一直执行
//同样要包含步进表达式;
}while(布尔表达式);
for
for(初始化语句;布尔表达式;步进表达式){
//当布尔表达式为true时,运行此处代码
}
for()中三个语句缺少后的影响(均不会编译报错)
缺少初始化语句会对布尔表达式中的值有影响,可将初始化语句 补充到for循环之前;
布尔表达式缺少后,会默认为true,循环将一直运行
步进表达式缺少会导致循环一直运行,可以将步进表达式写在for循环内部
死循环
while(true){}
for(;;){}
只要布尔表达式值一直为true,就是死循环
死循环内部一般会设置if语句,当达到某种条件时候,执行break语句跳出循环
例如:
int i=0;
boolean flag=true;
while(flag){
if(i>1000){
flag=false;
}
System.out.println(i);
i++;
}
代码的实际运行效果就是输出0-999
嵌套循环
三种循环结构可相互嵌套
嵌套层数没有限制
以for循环嵌套两层举例
for(int i=0;i<60;i++){ //外层循环
for(int j=0;j<60;j++){ //内层循环
System.out.println("第"+i+"分第"+j+"秒");
//内层循环完成一圈,外层循环步进一次
//当外层循环完成后,嵌套循环完成
}
}
运行结果:
第0分第0秒
第0分第1秒
第0分第2秒
第0分第3秒
第0分第4秒
第0分第5秒
....
第0分第58秒
第0分第59秒
第1分第0秒
第1分第1秒
第1分第2秒
第1分第3秒
第1分第4秒
...
第59分第53秒
第59分第54秒
第59分第55秒
第59分第56秒
第59分第57秒
第59分第58秒
第59分第59秒