IT兄弟連 Java語法教程 流程式控制制語句 控制循環結構1
- 2019 年 10 月 5 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/ITXDL123/article/details/96827797
Java語言沒有提供goto語句來控制程式的跳轉,這種做法提高了程式流程式控制制的可讀性,但降低了程式流程式控制制的靈活性。為了彌補這種不足,Java提供了continue和break來控制循環結構。除此之外,return可以結束整個方法,當然也就結束了一次循環。
使用break結束循環
某些時候需要在某種條件出現時強行終止循環,而不是等到循環條件為false時才退出循環。此時,可以使用break來完成這個功能。break用於完全結束一個循環,跳出循環體。不管是哪種循環,一旦在循環體中遇到break,系統將完全結束該循環,開始執行循環之後的程式碼。例如下面的程式。
public class breakDemo{
public static void main(String[] args){
for(int i = 0; i<10; i++){
System.out.println("i的值是" + i);
if(i == 2){
break;
}
}
}
}
運行上面的程式,將看到i循環到2時程式即結束,當i等於2時,循環體內遇到break語句,程式跳出該循環。
break語句不僅可以結束其所在的循環,還可以直接結束其外層循環。此時需要在break後緊跟一個標籤,這個標籤用於表示一個外層循環。
Java中的標籤就是一個緊跟著英文冒號」:「的標識符。與其它語言不同的是,Java中的標籤只有放在循環語句之前才有作用。例如下面程式碼。
public class BreakDemo2{
public static void main(String[] args){
outer:
for(int i = 0; i<5; i++){
for(int j = 0; j<3; j++){
System.out.println("i的值為:" + i + "j的值為:" + j);
if(j == 1){
break outer;
}
}
}
}
}
運行上面程式,將看到如下圖19所示運行結果:

圖19 BreakDemo運行結果
程式從外層循環進入內層循環後,當j等於1時,程式遇到一個break outer語句,這行程式碼將會導致結束outer標籤指定的循環,不是結束break所在的循環,而是結束break循環的外層循環。所以看到上面的運行結果。
值得指出的是,break後的標籤必須是一個有效的標籤,即這個標籤必須在break語句所在的循環之前定義,或者在其所在的循環的外層之前定義。當然,如果把這個標籤放在break語句所在的循環之前定義,也就失去了標籤的意義,因為break默認就是結束其所在的循環。