Java編程:break和continue語句

核心提示:break和continue語句是和循環語句緊密相關的兩種語句。其中break關鍵字的意思是中斷、打斷,continue關鍵字的意思是繼續。使用這兩個關鍵字可以調節循環的執行。5.5.1 break語句break語句在前面的switch語句中已經... 推廣和普及Java技術,爲國內衆多的Java愛
break和continue語句是和循環語句緊密相關的兩種語句。其中break關鍵字的意思是中斷、打斷,continue關鍵字的意思是繼續。使用這兩個關鍵字可以調節循環的執行。
5.5.1 break語句
break語句在前面的switch語句中已經介紹過,功能的話是中斷switch語句的執行,在循環語句中,break語句的作用也是中斷循環語句,也就是結束循環語句的執行。
break語句可以用在三種循環語句的內部,功能完全相同。下面以while語句爲例來說明break語句的基本使用及其功能。
示例代碼:
int i = 0;
while(i < 10){
i++;
if(i == 5){
break;
}
}
則該循環在變量i的值等於5時,滿足條件,然後執行break語句,結束整個循環,接着執行循環後續的代碼。
在循環語句中,可以使用break語句中斷正在執行的循環。
在實際的代碼中,結構往往會因爲邏輯比較複雜,而存在循環語句的嵌套,如果break語句出現在循環嵌套的內部時,則只結束break語句所在的循環,對於其它的循環沒有影響,示例代碼如下:
for(int i = 0; i < 10; i++){
for(int j = 0; j < 5; j++){
System.out.println(j);
if(j == 3){
break;
}
}
}
則該break語句因爲出現在循環變量爲j的循環內部,則執行到break語句時,只中斷循環變量爲j的循環,而對循環變量爲i的循環沒有影響。
在上面的示例代碼中,如果需要中斷外部的循環,則可以使用語法提供的標籤語句來標識循環的位置,然後跳出標籤對應的循環。示例代碼如下:
lable1:
for(int i = 0; i < 10; i++){
for(int j = 0; j < 5; j++){
System.out.println(j);
if(j == 3){
break label1;
}
}
}
說明:這裏的label1是標籤的名稱,可以爲Java語言中任意合法的標識符,標籤語句必須和循環匹配使用,使用時書寫在對應的循環語句的上面,標籤語句以冒號結束。如果需要中斷標籤語句對應的循環時,採用break後面跟標籤名的方式中斷對應的循環。則在該示例代碼中break語句中斷的即循環變量爲i的循環。
同樣的功能也可以使用如下的邏輯實現:
boolean b = false;
for(int i = 0; i < 10; i++){
for(int j = 0; j < 5; j++){
System.out.println(j);
if(j == 3){
b = true;
break;
}
}
if(b){
break;
}
}
該示例代碼中,通過組合使用2個break以及一個標識變量,實現跳出外部的循環結構。
5.5.2 continue語句
continue語句只能使用在循環語句內部,功能是跳過該次循環,繼續執行下一次循環結構。在while和do-while語句中continue語句跳轉到循環條件處開始繼續執行,而在for語句中continue語句跳轉到迭代語句處開始繼續執行。
下面以while語句爲例,來說明continue語句的功能,示例代碼如下:
int i = 0;
while(i < 4){
i++;
if(i == 2){
continue;
}
System.out.println(i);
}
則該代碼的執行結果是:
1
3
4
在變量i的值等於2時,執行continue語句,則後續未執行完成的循環體將被跳過,而直接進入下一次循環。
在實際的代碼中,可以使用continue語句跳過循環中的某些內容。
和前面介紹的break語句類似,continue語句使用在循環嵌套的內部時,也只是跳過所在循環的結構,如果需要跳過外部的循環,則需要使用標籤語句標識對應的循環結構。示例代碼如下:
lable1:
for(int i = 0; i < 10; i++){
for(int j = 0; j < 5; j++){
System.out.println(j);
if(j == 3){
continue label1;
}
}
}
這樣在執行continue語句時,就不再是跳轉到j++語句,而是直接跳轉到i++語句。
5.5.3 小結
在實際的代碼中,可以根據需要使用break和continue語句調整循環語句的執行,break語句的功能是結束所在的循環,而continue語句的功能是跳過當次循環未執行的代碼,直接執行下一次循環。

發佈了253 篇原創文章 · 獲贊 4 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章