Java中多层循环嵌套,continue Loop的功能?
For循环语句,遇到continue则先执行循环的自增再判断条件。么continue+Loop如在如下语句中,是执行小循环的自增,还是指定标签循环的自增?Loop:for...
For循环语句,遇到continue则先执行循环的自增再判断条件。么continue+Loop如在如下语句中,是执行小循环的自增,还是指定标签循环的自增?
Loop: for(int i=1; i<7; i++){
for(int j=1;j==4;j++){
continue Loop;
}
}
如答案是小循环自增,该程序执行过程如下:
1. i=1, 判断小于7,执行j循环部分,直至j=4.
2. 跳出j循环到i循环,这时i值重新赋值为1,得出i<7的判断,再次运行j循环,直至j=4;
3. 跳出j循环到i循环,这时i值重新赋值为1,得出i<7的判断,再次运行j循环,直至j=4;
n. ……故此程序是一个死循环。
如执行的是标签循环的自增:
1. i=1, 判断小于7,执行j循环部分,直至j=4.
2. 跳出j循环到i循环,这时i值自增为2,得出i<7的判断,再次运行j循环,直至j=4;
3. 跳出j循环到i循环,这时i值自增为3,得出i<7的判断,再次运行j循环,直至j=4;
……
7. 跳出j循环到i循环,这时i值自增为7,得出i=7的判断,i循环关闭;
故这种场景下,continue Loop的作用和break(无标签),完全相同。 展开
Loop: for(int i=1; i<7; i++){
for(int j=1;j==4;j++){
continue Loop;
}
}
如答案是小循环自增,该程序执行过程如下:
1. i=1, 判断小于7,执行j循环部分,直至j=4.
2. 跳出j循环到i循环,这时i值重新赋值为1,得出i<7的判断,再次运行j循环,直至j=4;
3. 跳出j循环到i循环,这时i值重新赋值为1,得出i<7的判断,再次运行j循环,直至j=4;
n. ……故此程序是一个死循环。
如执行的是标签循环的自增:
1. i=1, 判断小于7,执行j循环部分,直至j=4.
2. 跳出j循环到i循环,这时i值自增为2,得出i<7的判断,再次运行j循环,直至j=4;
3. 跳出j循环到i循环,这时i值自增为3,得出i<7的判断,再次运行j循环,直至j=4;
……
7. 跳出j循环到i循环,这时i值自增为7,得出i=7的判断,i循环关闭;
故这种场景下,continue Loop的作用和break(无标签),完全相同。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询