Java 中 break 和 continue 語句的區別

Sheeraz Gul 2023年10月12日
  1. 通過 Java 中的 for 迴圈演示 Break 和 Continue 之間的區別
  2. 通過 Java 中的 foreach 迴圈演示 Break 和 Continue 之間的區別
  3. 通過 Java 中的巢狀迴圈演示 Break 和 Continue 之間的區別
  4. 演示 Java 中帶標籤的 break 和帶標籤的 continue 語句之間的區別
  5. 演示 Java 中 switch 條件中 breakcontinue 的使用
Java 中 break 和 continue 語句的區別

本教程將演示 Java 的 breakcontinue 語句之間的區別。

Java 中的 break 語句用於在給定條件下離開迴圈,而 continue 語句用於在給定條件下跳轉迴圈的迭代。

通過 Java 中的 for 迴圈演示 Break 和 Continue 之間的區別

請參閱下面的示例,以使用 for 迴圈區分 breakcontinue

public class Break_Continue_Class {
  public static void main(String args[]) {
    System.out.println("The Break Statement:  \n");
    for (int x = 0; x < 15; x++) {
      if (x == 8) {
        break;
      }
      System.out.println(x);
    }
    System.out.println("The Continue Statement:  \n");
    for (int x = 0; x < 15; x++) {
      if (x == 8) {
        continue;
      }
      System.out.println(x);
    }
  }
}

輸出:

The Break Statement:

0
1
2
3
4
5
6
7
The Continue Statement:

0
1
2
3
4
5
6
7
9
10
11
12
13
14

帶有 break 語句的迴圈在 8 處終止,而帶有 continue 的迴圈在 8 處跳轉迭代。對於 whiledo-while 迴圈的工作方式類似。

通過 Java 中的 foreach 迴圈演示 Break 和 Continue 之間的區別

請參閱下面的示例以區分 foreach 迴圈的 breakcontinue 語句。

public class Break_Continue_Class {
  public static void main(String args[]) {
    int[] test_array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    System.out.println("The Break statement works in this way: \n");
    for (int test : test_array) {
      if (test == 5) {
        break;
      }
      System.out.print(test);
      System.out.print("\n");
    }
    System.out.println("The Continue statement works in this way: \n");
    for (int test : test_array) {
      if (test == 5) {
        continue;
      }
      System.out.print(test);
      System.out.print("\n");
    }
  }
}

輸出:

The Break statement works in this way:
0
1
2
3
4
The Continue statement works in this way:
0
1
2
3
4
6
7
8
9

如圖所示,帶有 break 語句的迴圈在 5 處終止,帶有 continue 的迴圈在 5 處跳轉迭代。

通過 Java 中的巢狀迴圈演示 Break 和 Continue 之間的區別

下面的示例使用帶有 breakcontinue 語句的巢狀 for 迴圈。

public class Break_Continue_Class {
  public static void main(String[] args) {
    System.out.println("The Break Statement:  \n");
    for (int x = 1; x <= 4; x++) {
      for (int y = 1; y <= 4; y++) {
        if (x == 3 && y == 3) {
          break;
        }
        System.out.println(x + " " + y);
      }
    }
    System.out.println("The Continue Statement:  \n");
    for (int x = 1; x <= 4; x++) {
      for (int y = 1; y <= 4; y++) {
        if (x == 3 && y == 3) {
          continue;
        }
        System.out.println(x + " " + y);
      }
    }
  }
}

輸出:

The Break Statement:
1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
3 1
3 2
4 1
4 2
4 3
4 4
The Continue Statement:
1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
3 1
3 2
3 4
4 1
4 2
4 3
4 4

正如我們所見,break 語句僅中斷 x 和 y 均為 3 的內部迴圈,而 continue 語句僅跳過了一次迭代,其中 x 和 y 均為 3。

演示 Java 中帶標籤的 break 和帶標籤的 continue 語句之間的區別

未標記的 breakcontinue 語句僅適用於巢狀迴圈中的最內層迴圈。這些標籤僅用於將宣告應用於我們的選擇。

class Break_Continue_Labeled {
  public static void main(String args[]) {
    System.out.println("The Labeled Break Statement:  ");
  first_break: // First label
    for (int x = 0; x < 4; x++) {
    second_break: // Second label
      for (int y = 0; y < 4; y++) {
        if (x == 2 && y == 2) {
          // Using break statement with label
          break first_break;
        }
        System.out.println(x + " " + y);
      }
    }
    System.out.println("The Labeled Continue Statement:  ");
  first_continue: // First label
    for (int x = 0; x < 4; x++) {
    second_continue: // Second label
      for (int y = 0; y < 4; y++) {
        if (x == 2 && y == 2) {
          // Using break statement with label
          continue first_continue;
        }
        System.out.println(x + " " + y);
      }
    }
  }
}

輸出:

The Labeled Break Statement:
0 0
0 1
0 2
0 3
1 0
1 1
1 2
1 3
2 0
2 1
The Labeled Continue Statement:
0 0
0 1
0 2
0 3
1 0
1 1
1 2
1 3
2 0
2 1
3 0
3 1
3 2
3 3

上面的程式碼使用標籤作為第一和第二。如果我們將 first 作為引數傳遞給語句,它將應用於第一個語句,如果我們傳遞 second,它將應用於第二個語句。

演示 Java 中 switch 條件中 breakcontinue 的使用

只有 break 語句用於 switch 條件; continue 語句沒有用處。

public class Switch_Break_Class {
  public static void main(String[] args) {
    String[] test_array = {"Demo String", "Delftstack1", "Delftstack2", "Delftstack3"};
    for (String test : test_array) {
      switch (test) {
        case "Delftstack1":
          System.out.println(test);
          break;
        case "Delftstack2":
          System.out.println(test);
          break;
        case "Delftstack3":
          System.out.println(test);
          break;
        default:
          System.out.println("Not Delftstack");
      }
    }
  }
}

輸出:

Not Delftstack
Delftstack1
Delftstack2
Delftstack3

上面的程式碼包含三種情況和一種預設情況,它顯示了開關條件中的 break 語句。

作者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

相關文章 - Java Statement