很多是时候我们经常遇到多层for语句嵌套的情况,但有时候我们想提早退出内部的for语句或者提早结束外部的for语句。
可以使用标签和break来解决,break+标签;
结束指定层的for循环(这里指定的层一般当前层的上面的任意一层或者当前层)
1.结束外循环(我们可以给外循环上面添加一个标签)
label1:
for (int j = 0; j < 4; j++) {
System.out.println("j="+j);
for (int i = 0; i < 10; i++) {
if (i == 2) {
break label1; //直接结束外循环
}
System.out.print("i=" + i+" ");
}
System.out.println("test");
}
结果分析:外循环第一循环先执行一次print语句后,执行内循环,内循环循环两次后,第三次由于有i==2,执行break语句,直接退出外循环(下面的打印i的值的语句和打印test的语句不在执行),当然了内循环也就退出了。
2.结束内循环(同样我们可以给循环上面添加一个标签,这里也可以直接使用break结束)
label1:
for (int j = 0; j < 4; j++) {
System.out.println("j="+j);
lable2:
for (int i = 0; i < 10; i++) {
if (i == 2) {
// break; //结束内循环
break lable2;
}
System.out.print("i=" + i+" ");
}
System.out.println("test");
}
结果分析:在每次外循环执行打印j的值后,进入内循环,内循环判断i的值是否等于2,等于2,结束内循环,if语句下面的打印i的值不在打印,不成立内循环语句打印i的值
- break语句结束的是距离它最近的循环语句,在上面这种情况下,可以直接使用break结束内循环。
label1:
for (int j = 0; j < 4; j++) {
System.out.println("j="+j);
lable2:
for (int i = 0; i < 10; i++) {
if (i == 2) {
break; //结束内循环
//break lable2;
}
System.out.print("i=" + i+" ");
}
System.out.println("test");
}
版权声明:本文为weixin_43319946原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。