Java中的break,continue關於標籤的用法
阿新 • • 發佈:2018-11-09
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"沒有列印。