今天做项目优化涉及到一个跳出指定多重嵌套循环的问题,觉得还是记录一下
那么在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 }