Java中如何指定跳出多重嵌套循环

时间:2021-12-08 15:51:19

今天做项目优化涉及到一个跳出指定多重嵌套循环的问题,觉得还是记录一下
那么在Java中如何跳出当前的多重嵌套循环?


方法一:可以在需要的循环语句前定义一个标号,
然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环

方法二:可以在需要的循环条件内加入一个boolean类型的判断,需要的时候将此变量值反转,再break当前循环即可跳出。

 

建议:推荐使用方法一,方便灵活,且代码可读性好。示例如下:

 1 public class Test {  
 2     public static void main(String[] args) {  
 3         method1();  
 4         method2();  
 5     }  
 6     //方法一:  利用标签
 7     public static void method1(){  
 8         tag:for(int i=0;i<10;i++){  
 9             for(int j=0;j<10;j++){  
10                 System.out.println("i="+i+",j="+j);  
11                 if(j==5){  
12                     break tag;//跳到循环外的tag出,即终止整个循环  
13                 }  
14             }  
15         }  
16     }  
17     //方法二:  增加循环条件判断
18     public static void method2(){  
19         int[][] arr = {{1,2,3},{4,5,6,7},{9}};  
20         boolean found = false;  
21         for(int i=0;i<arr.length && !found;i++){  
22             for(int j=0;j<arr[i].length;j++){  
23                 System.out.println("i="+i+",j="+j);  
24                 if(arr[i][j]==5){  
25                     found = true;//找到5,使外层循环判断条件变为false则终止整个循环  
26                     break;//跳出当前循环  
27                 }  
28             }  
29         }  
30     }  
31 }