break和continue的區別


1.首先;無論是while循環還是for循環,有兩個特別的語句可以使用,就是break語句和continue語句。

 

break

在循環過程中,可以使用break語句跳出當前循環。我們來看一個例子:

   

public class Main {
  public static void main(String[] args) {
    int sum = 0;
    for (int i=1; ; i++) {
      sum = sum + i;
      if (i == 100) {
        break;
      }
     }
    System.out.println(sum);
  }
}

輸出結果為:5050

使用for循環計算從1到100時,我們並沒有在for()中設置循環退出的檢測條件。但是,在循環內部,我們用if判斷,如果i==100,就通過break退出循環。

因此,break語句通常都是配合if語句使用。要特別注意,break語句總是跳出自己所在的那一層循環。例如:

public class Main {
  public static void main(String[] args) {
    for (int i=1; i<=10; i++) {
      System.out.println("i = " + i);
      for (int j=1; j<=10; j++) {
        System.out.println("j = " + j);
        if (j >= i) {
          break;
        }
      }
      // break跳到這里
      System.out.println("breaked");
    }
  }
}

//輸出結果為:

上面的代碼是兩個for循環嵌套。因為break語句位於內層的for循環,因此,它會跳出內層for循環,但不會跳出外層for循環。

continue

break會跳出當前循環,也就是整個循環都不會執行了。而continue則是提前結束本次循環,直接繼續執行下次循環。我們看一個例子:

public class Main {
  public static void main(String[] args) {
    int sum = 0;
    for (int i=1; i<=10; i++) {
      System.out.println("begin i = " + i);
      if (i % 2 == 0) {
        continue; // continue語句會結束本次循環
      }
      sum = sum + i;
      System.out.println("end i = " + i);
    }
    System.out.println(sum); // 25
  }
}

注意觀察continue語句的效果。當i為奇數時,完整地執行了整個循環,因此,會打印begin i=1end i=1。在i為偶數時,continue語句會提前結束本次循環,因此,會打印begin i=2但不會打印end i = 2

在多層嵌套的循環中,continue語句同樣是結束本次自己所在的循環。

小結:

break語句可以跳出當前循環;

break語句通常配合if,在滿足條件時提前結束整個循環;

break語句總是跳出最近的一層循環;

continue語句可以提前結束本次循環;

continue語句通常配合if,在滿足條件時提前結束本次循環。

讀后有收獲可以支付寶請作者喝咖啡,讀后有疑問請


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM