1. 程式人生 > >java利用label 標識退出多重迴圈

java利用label 標識退出多重迴圈

學過C語言的都知道,有個goto關鍵字,利用goto關鍵字可以跳出多重迴圈或跳到某個執行點。
java中保留了goto關鍵字,但是沒有goto的功能,主要是考慮到安全性吧。不過java跳出多重迴圈我們可以使用label標記,在多重迴圈的最外面一個迴圈前加上label: ,在需要的跳出的地方寫break label就OK了,需要說明這裡的label也可以換成其他的單詞,只要符合java的標示符就OK。


例項一:普通break跳出當前迴圈,跳不出多重迴圈
Java程式碼  收藏程式碼
  1. publicclass LoopDemo {  
  2.     publicstaticvoid main(String[] args) {  
  3.         for (int i = 0; i < 2; i++) {  
  4.             System.out.println("執行第一重迴圈" + i);  
  5.             for (int j = 0; j < 2; j++) {  
  6.                 System.out.println("執行第二重迴圈" + j);  
  7.                 for (int k = 0; k < 2; k++) {  
  8.                     if(k==1){  
  9.                         break;  
  10.                     }  
  11.                     System.out.println("執行第三重迴圈" + k);  
  12.                     System.out.println("******************************");  
  13.                 }  
  14.             }  
  15.         }  
  16.     }  
  17. }  

執行結果:
Java程式碼  收藏程式碼
  1. 執行第一重迴圈0
  2. 執行第二重迴圈0
  3. 執行第三重迴圈0
  4. ******************************  
  5. 執行第二重迴圈1
  6. 執行第三重迴圈0
  7. ******************************  
  8. 執行第一重迴圈1
  9. 執行第二重迴圈0
  10. 執行第三重迴圈0
  11. ******************************  
  12. 執行第二重迴圈1
  13. 執行第三重迴圈0
  14. ******************************  

例項二:利用label標記跳出多重迴圈
Java程式碼  收藏程式碼
  1. publicclass LoopDemo {  
  2.     publicstaticvoid main(String[] args) {  
  3.         zengzs: for (int i = 0; i < 2; i++) {  
  4.             System.out.println("執行第一重迴圈" + i);  
  5.             for (int j = 0; j < 2; j++) {  
  6.                 // label: for (int j = 0; j <2; i++) {
  7.                 System.out.println("執行第二重迴圈" + j);  
  8.                 for (int k = 0; k < 2; k++) {  
  9.                     // break label;
  10.                     if (k == 1) {  
  11.                         System.out.println("跳出多重迴圈");  
  12.                         break zengzs;  
  13.                     }  
  14.                     System.out.println("執行第三重迴圈" + k);  
  15.                     System.out.println("**************************");  
  16.                 }  
  17.             }  
  18.         }  
  19.     }  
  20. }  

執行結果:
Java程式碼  收藏程式碼
  1. 執行第一重迴圈0
  2. 執行第二重迴圈0
  3. 執行第三重迴圈0
  4. **************************  
  5. 跳出多重迴圈