循环嵌套快速跳出,带标签的break语句

it2022-05-05  178

问题

如果现有一个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是个关键字。

最新回复(0)