1. 程式人生 > >Java中的break,continue關於標籤的用法

Java中的break,continue關於標籤的用法

java中的標籤

Java的控制迴圈結構中是沒有關鍵字goto的,這種做法有它的好處,它提高了程式流程控制的可讀性,但是也有不好的地方,它降低了程式流程控制的靈活性,所以說,“上帝是公平的”。所以,Java為了彌補這方面的不足,Java提供了break和continue的標籤用法。Java中的標籤就是一個緊跟著“:”的識別符號。與其他語言不通,Java語言的標籤必須放在迴圈前面才有作用。下面就來看一些例子:

continue + 標籤

public void continueLabelTest(){
     outer:
      for(int i = 0; i<5; i++){
          for(int j = 0; j<6; j++){
              if(j == 4){
                  continue outer;
              }
              System.out.println(j);
          }
          System.out.println("test");
      }
      System.out.println("finish");
  }

日誌如下:

0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
finish

我們發現外層迴圈的test並不會列印,continue+標籤,是重新開始外層迴圈

break + 標籤

public void breakLabelTest() {
     outer:
     for (int i = 0; i < 3; i++) {
         for(int j = 0; j < 5; j++){
             if(j==4){
                 break outer;
             }
             System.out.println(j);
         }
         System.out.println("test");
     }
     System.out.println("finish");
 }

列印結果如下:

0
1
2
3
finish

我們可以看到會連同外迴圈一起break掉,所以"test"沒有列印。