1. 程式人生 > 其它 >Java基礎學習:流程控制04

Java基礎學習:流程控制04

Java基礎學習:流程控制04

  • break , continue

    • break在任何迴圈語句的主體部分,均可用break控制迴圈流程;break用於強制退出迴圈不執行迴圈中剩餘的語句(break語句也在swtich中使用)

    • continue與用在迴圈語句體中,用於終止某次迴圈過程,即跳出迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定

    • 程式碼案例:break

      public class BreakDemo01 {
      public static void main(String[] args) {
      int i=0;
      while(i<100){

      System.out.println(i);
      if(i==30){
      break;//強制退出迴圈;只是退出迴圈,不是結束整個程式
      }
      i++;//切記,不要忘了迭代變數:用於終止迴圈
      }
      System.out.println("123");//break只是結束迴圈,不會結束程式
      }
      }
    • 程式碼案例:continue

      public class ContinueDemo01 {
      public static void main(String[] args) {
      //
      int i=0;
      while (i<100){//注意布林表示式:切記不要寫成迴圈
      i++;
      if(i%10==0){
      System.out.println();
      continue;//不會列印10的倍數,因為跳到下一次迴圈開始
      }
      System.out.print(i);
      }
      }
      }

  • 關於goto關鍵字:

    • Java沒有goto

      ,但是在break和continue這2個關鍵字的身上,我們仍然能看出一些goto的影子:帶標籤的break和continue;

    • “標籤”是指後面跟一個冒號的識別符號;例如:label:

    • 對Java來說,唯一用到標籤的地方是在迴圈語句之前:而在迴圈之前設定標籤的唯一理由是:我們希望在其中巢狀另一個迴圈,由於break和continue關鍵字通常只中斷當前迴圈,但若隨同標籤使用,它們就會中斷到存在標籤的地方

    • 程式碼案例:列印101--150之間的所有質數:

      public class LabelDemo01 {
      public static void main(String[] args) {
      //列印101--150之間的所有質數:

      //質數:是指大於1的自然數中,除了1和它本身以外不再有其他因數的自然數:1,37,51
      //只能被1和它本身整除的數,才叫質數

      int count=0;
      //不建議使用
      outer:for(int i=101;i<150;i++){//遍歷101-150
      for(int j=2;j<i/2;j++){//
      if(i%j==0){
      continue outer;
      }
      }
      System.out.println(i+"");
      }
      }
      }