java跳出多重嵌套循環


在java里面,我們知道有goto這個關鍵字,但是實際卻沒有啥作用,這就讓我們不像在c/c++里面能夠隨便讓程序跳到那去執行,而break只能跳出當前的一個循環語句,如果要跳出多個循環體那么該怎么辦呢。

我們可以這樣解決:

我們可以在循環體開頭設置一個標志位,也就是設置一個標記,然后使用帶此標號的break語句跳出多重循環。

 

[java]  view plain copy
 
  1. public class BreaklFor {  
  2.     public static void main(String args[]){  
  3.         OK:                    //設置一個標記 使用帶此標記的break語句跳出多重循環體  
  4.         for(int i=1;i<100;i++){   //讓i循環99次  
  5.             for(int j=1;j<=i;j++){  
  6.                 if(i==10){  
  7.                     break OK ;  
  8.                 }  
  9.                 System.out.print(i + "*" + j + "=" + i*j) ;  
  10.                 System.out.print(" ") ;  
  11.             }  
  12.             System.out.println() ;  
  13.         }  
  14.     }  
  15. }  


運行結果當然是打印九九乘法表。當i=10時跳出了循環。

 

當然還有另外一種方法,這也是設置一個boolean值的標記位,在for循環中使用判斷是否繼續循環來達到目的。

 

[java]  view plain copy
 
  1. public class BreaklFor {  
  2.     public static void main(String args[]) {  
  3.         int array[][] = { { 5, 7, 6, 4, 9 }, { 1, 2, 8, 3, 2 } };  
  4.         boolean flag = false;  
  5.         for (int i = 0; i < array.length && !flag; i++) {  //當flag為true時跳出循環  
  6.             for (int j = 0; j < array[i].length; j++) {  
  7.                 if (array[i][j] == 8) {  
  8.                     flag = true;  
  9.                     break;  
  10.                 }  
  11.             }  
  12.         }  
  13.         System.out.println(flag);  
  14.     }  
  15. }  

通過設置標志位,實現里成的代碼控制外層的的循環條件。

 

當然還可以通過return來跳出多重循環。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM