IT兄弟連 Java語法教程 流程控制語句 經典案例
使用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處於多