1. 程式人生 > >IT兄弟連 Java語法教程 流程控制語句 控制迴圈結構2

IT兄弟連 Java語法教程 流程控制語句 控制迴圈結構2

使用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所示的執行結果。

597c72d696f54f2097c3b14c3b00445f.png

圖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處於多