前提知识
大家都知道在循环中一般要使用break和continue。break的意思是结束循环继续执行接下来循环之外的代码,continue是结束本次循环进入下一次循环。
发现问题
int j=0;
do{
System.out.println("j is "+j++);
if(j==3){continue loop;}
}while(j<10);
执行以上代码会发现在continue loop; 处有编译错误。 那么loop是什么?我们与我们平时说到的break和continue又有什么关系呢?
解决问题
经过小编查询得出以下结论: java 中的loop(此处loop只是一个名称,也可以起其他的名字)只是break和continue的标记。在多层嵌套循环中,continue loop; 可以结束本次循环跳入loop指定的循环;break loop; 可以直接结束loop指定的循环。
案例
loop1: for (int i = 0; i < 3; i++) {
System.out.println("loop1第"+i+"次循环");
loop2:for (int j = 0; j < 4; j++) {
System.out.println("loop2第"+j+"次循环");
if (j==2){
continue loop1;
}
}
}
System.out.println("================================");
for (int n=0;n<3;n++) {
System.out.println("最外层循环第" + n + "次循环");
loo1:
for (int i = 0; i < 3; i++) {
System.out.println("loo1第" + i + "次循环");
loo2:
for (int j = 0; j < 8; j++) {
System.out.println("loo2第" + j + "次循环");
if (j == 2) {
break loo1;
}
}
}
}
执行结果为 loop1第0次循环 loop2第0次循环 loop2第1次循环 loop2第2次循环 loop1第1次循环 //此处说明i++是执行的 loop2第0次循环 loop2第1次循环 loop2第2次循环 loop1第2次循环//此处说明i++是执行的 loop2第0次循环 loop2第1次循环 loop2第2次循环 ================================ 最外层循环第0次循环 loo1第0次循环 loo2第0次循环 loo2第1次循环 loo2第2次循环 最外层循环第1次循环 loo1第0次循环 loo2第0次循环 loo2第1次循环 loo2第2次循环 最外层循环第2次循环 loo1第0次循环 loo2第0次循环 loo2第1次循环 loo2第2次循环
|