Java跳出當前的多重嵌套循環的3種解決方法(以雙重嵌套為例)
方法一:使用一個布爾型的標記變量flag
1 public static void method1() { 2 boolean flag = false; 3 for (int i = 0; i < 6 && !flag; i++) { //注意flag判斷 4 for (int j = 0; j < 6; j++) { 5 System.out.println("i=" + i + ",j=" + j); 6 if (i == 3 && j == 3) { 7 flag = true;// 找到5,使外層循環判斷條件變為false則終止整個循環 8 break;// 跳出當前循環 9 } 10 } 11 // if (flag) { 12 // break; //跳出外層循環 13 // } 14 } 15 }
方法二:異常捕獲
1 public static void method2() { 2 try { 3 for (int i = 0; i < 5; i++) { 4 for (int j = 0; j < 5; j++) { 5 System.out.println("i=" + i + ",j=" + j); 6 if (i == 3 && j == 3) { 7 throw new Exception(); 8 } 9 } 10 } 11 } catch (Exception e) { 12 e.printStackTrace(); 13 } 14 }
方法三:使用帶標簽的break語句跳出循環
1 public static void method3() { 2 temp: 3 for (int i = 0; i < 10; i++) { 4 for (int j = 0; j < 10; j++) { 5 System.out.println("i=" + i + ",j=" + j); 6 if (j == 5) { 7 break temp;// 跳到循環外的temp,即終止整個循環 8 } 9 } 10 } 11 }