今天做項目優化涉及到一個跳出指定多重嵌套循環的問題,覺得還是記錄一下
那么在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 }