问题
如果现有一个4层嵌套循坏,当第4层循环满足条件后,做出处理后,需要跳到第一层。继续开始新的循环,如何设计?
当我不知道java提供了方法时,我大概率会采用多个flag,一层一层的从内到外break。
答案
有时候,在嵌套很深的循环语句中会发生一些不可预料的事情。此时可能更加希望跳出嵌套的所有循环语句或几层之外。通过添加一些额外的条件判断实现各层循环的检测很不方便。
Java 提供了一种带标签的 break语句,用于跳出多重嵌套的循环语句。
用法
原理: 执行break 标签;后 ,可以跳转到对应标签的for循环{}结束的位置。
案例:如果要调到B层外,就在B层加标签。
代码如下:
public class Main {
public static void main(String[] args) {
for(int i=1;i<=2;i++){
System.out.println("第一层");
//注意
hello:for(int j=1;j<10;j++){
System.out.println("第二层");
int m = 0;
while (j >= 2) {
System.out.println("第三层");
for(int k=0;++m>3&&k<4;k++){
System.out.println("第四层");
while (k == 3) {
System.out.println("跳出到第二层之外");
//注意
break hello;
}
}
}
}
}
}
}
效果如下:
第一层
第二层
第二层
第三层
第三层
第三层
第三层
第四层
第四层
第四层
第四层
跳出到第二层之外
第一层
第二层
第二层
第三层
第三层
第三层
第三层
第四层
第四层
第四层
第四层
跳出到第二层之外
注意事项
- 标签由自己命名,有些博主用的loop,初次读的时候,我以为loop是个关键字。