IT兄弟連 Java語法教程 流程式控制制語句 控制循環結構2
- 2019 年 10 月 5 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/ITXDL123/article/details/96827878
使用continue忽略本次循環剩下的語句
continue的功能和break有點類似,區別是continue只是忽略本次循環剩下的語句,接著開始下一次循環,並不會終止循環;而break則是完全終止循環本身。如下程式示範了continue的用法。
public class ContinueDemo{
public static void main(String[] args){
for(int i = 0; i<3; i++){
System.out.println("i的值是" + i);
if(i == 1){
continue;
}
System.out.println("continue後的輸出語句");
}
}
}
運行上面的程式,將看到如圖20所示的運行結果。

圖20 ContinueDemo運行結果
從上面運行結果來看,當i等於1時,程式沒有輸出「continue後的輸出語句」字元串,因為程式執行到continue時,忽略了當此循環中continue語句後的程式碼。從這個意義上來看,如果把一個continue語句放在單次循環的最後一行,這個continue語句是沒有任何意義的,因為它僅僅忽略了一片空白,沒有忽略任何程式語句。
與break類似的是,continue後也可以緊跟一個標籤,用於直接跳過標籤所標識循環的當此循環剩下的語句,重新開始下一次循環。例如下面的程式碼。
public class ContinueDemo2{
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){
continue outer;
}
}
}
}
}
運行上面程式可以看到,循環變數j的值將無法超過1,因為每當j等於1時,continue outer語句就結束了外層循環的當此循環,直接開始下一次循環,內層循環沒有機會執行完成。
與break類似的是,continue後的標籤也必須是一個有效的標籤,即這個標籤通常應該放在continue所在循環的外層循環之前定義。
使用return結束方法
return關鍵字並不是專門用於結束循環的,return的功能是結束一個方法。當一個方法執行到一個return語句時(return關鍵字後還可以跟變數、常量和表達式),這個方法將被結束。
Java程式中大部分循環都被放在方法中執行,例如前面介紹的所有循環程式。一旦在循環體內執行到一個return語句,return語句就會結束該方法,循環自然也隨之結束。例如下面的程式。
public class ReturnDemo{
public static void main(String[] args){
for(int i = 0; i<3; i++){
System.out.println("i的值為:" + i);
if(i == 1){
return;
}
System.out.println("return後的輸出語句");
}
}
}
運行上面的程式,循環只能執行到i等於1時,當i等於1時程式將完全結束(當main方法結束時,也就是Java程式結束時)。從這個運行結果來看,雖然return並不是專門用於循環結構控制的關鍵字,但通過return語句確實可以結束一個循環。與continue和break不同的是,return直接結束整個方法,不管這個return處於多少層循環之中。