迴圈跳脫

迴圈的特性就是「只要跑完迴圈就可以結束」,無論是「for迴圈」、「while迴圈」只要符合指定條件就會結束。除了迴圈本身的指定條件,在程式執行中想要納入其他條件控制迴圈也是可行的。迴圈這東西本來就很單純「不是跑就是停」,跑的時候可以在執行區塊中以判斷條件決定工作執行


public class CH01101 {

 public static void main(String[] args) {
  
  for(int i =0 ; i &lt 24; i++){
   
   if( i < 9 || i > 18){

    System.out.println( i +":00 "); // 要做的事

   }
   
  }

 }

}

continue

在迴圈的工作描述 {      } 中,如果出現「continue;」迴圈就會停止後面所有的工作直接跳回迴圈的第一行執行。這個動作不會改變迴圈主體,只是略過目前這次工作內容。這樣做的主要目的只是讓迴圈空轉一次後,重新判斷迴圈條件繼續處理。雖然youtube讓我們跳過一次廣告,但下次廣告還是會出來的。

public class CH01102 {

 public static void main(String[] args) {
  
  for(int i =0 ; i &lt 24; i++){
   
   //if( i < 9 || i > 18)continue; // i < 9  或  i > 18  跳過continue; 
   
   if(i < 9)continue; // i < 9 跳過
   
   if(i > 18)continue;// i > 18 跳過
   
   System.out.println( i +":00 "); // 要做的事
   
  }

 }

}
用判斷式在迴圈內處理跳脫不是很好的做法,跳脫請儘量採用「continue」。

break

執行中的迴圈通常會按照設定的條件逐次判斷並執行,直到符合指定條件迴圈才會結束。有的時候會希望迴圈完全停止,「break;」這個指令在迴圈中會強制改變迴圈主體,讓迴圈完全中止。就像是賽車比賽中的其中1台車進PET,但其他的車仍然在跑。
public class CH01103 {

 public static void main(String[] args) {
  
  for(int i =0 ; i &lt 24; i++){
   
   System.out.println( "預期程式會停在 "+i); 
   
   if(i > 18) break;
   
   
   
  }

 }

}

return

完全中止眼前的所有動作,就像是電器用品會有個緊急停止的按鈕。「return;」不只是把迴圈給停掉,整個程式碼區塊都會因此而中止。如果剛好是主程式,那自然就是程式完全中止。
public class CH01104 {

 public static void main(String[] args) {
  
  for(int i =0 ; i &lt 24; i++){
   
   return;
   System.out.println( "預期程式會停在 "+i); 
   
  }

  System.out.println( "什麼也不做"); 

 }

}

用判斷式在迴圈內處理跳脫不是很好的做法,跳脫請儘量採用「continue;」。

使用do...while迴圈印出九九乘法表。
下一步 例外處理

沒有留言:

張貼留言