Java break 语句

break 语句用于跳出并终止循环。在本教程中,我们通过示例介绍在 Java 中如何使用 break 语句。

break 语句用于跳出并终止循环。在本教程中,我们通过示例介绍在 Java 中如何使用 break 语句。

在使用循环时,有时需要跳过循环内的某些语句或立即终止循环,在这种情况下,可以使用 breakcontinue 语句。您将在下一个教程中了解 Java continue 语句

break 语句立即终止循环,程序的控制转移到循环后的下一条语句。break 语句几乎总是与 Java 条件语句一起使用。

break 语句工作原理

Java 编程中的 break 语句是如何工作的?
Java break 语句工作原理

示例 1:Java break 语句

public class Main {
  public static void main(String[] args) {

    for (int i = 1; i <= 10; ++i) {

      // 当 i 等于 5 时跳出循环
      if (i == 5) {
        break;
      }
      System.out.println(i);
    }
  }
}

输出

1
2
3
4

在上面的程序中,我们使用 for 循环在每次迭代中打印 i。要了解 for 循环的工作原理,请访问 Java for 循环

在本示例中,请注意以下语句:

if (i == 5) {
    break;
}

这意味着当 i 等于 5 时,循环终止。因此我们只得到值小于 5 的输出。

示例 2:Java break 语句

下面的程序计算用户输入的数字的总和,直到用户输入一个负数。

为了从用户那里获取输入,我们使用了 Scanner 对象。要了解 Scanner 的更多信息,请访问 Java Scanner

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {

    double number, sum = 0.0;

    // 创建一个 Scanner 对象接受用户输入
    Scanner input = new Scanner(System.in);

    while (true) {
      System.out.print("输入一个数字:");

      // 从用户输入中获取浮点数
      number = input.nextDouble();

      // 如果数字为负数,终止循环
      if (number < 0.0) {
        break;
      }

      sum += number;
    }
    System.out.println("Sum = " + sum);
  }
}

输出

输入一个数字:1.5
输入一个数字:2.3
输入一个数字:-1
Sum = 3.8

在上面的程序中, while 循环的测试表达式总是 true 。但是请注意下面几行代码:

if (number < 0.0) {
    break;
}

这意味着当用户输入负数时,while 循环将终止。

Java 嵌套循环中的 break

嵌套循环中,break 语句终止最里面的循环。

在嵌套循环的情况下,break 语句终止最里面的 while 循环。
使用嵌套循环处理 break 语句

在这里,break 语句终止最内层 while 循环,并且控制跳转到外层循环。

带标签的 break 语句

Java 中的 break 语句还可以和代码标签结合,以跳出标签指定的循环。

带标签的 break 语句用于中断最外层的循环。
在 Java 中使用带标签的 break 语句

如上图所示,我们使用了标签标识符来指定外循环。现在,注意如何使用 break 语句 (break label;)。

这是另一个例子:

while (testExpression) {
   // codes
   second:
   while (testExpression) {
      // codes
      while(testExpression) {
         // codes
         break second;
      }
   }
   // control jumps here
}

在上面的例子中,当执行 break second; 语句时,就跳出了标签为 secondwhile 循环,程序的控制转移到 second 循环之后的语句。

示例 3: break 标签语句

public class LabeledBreak {
    public static void main(String[] args) {

        // 标签为 first 的 for 循环
        first:
        for( int i = 1; i < 5; i++) {

            // 标签为 second 的 for 循环 
            second:
            for(int j = 1; j < 3; j ++ ) {
                System.out.println("i = " + i + "; j = " +j);

                // 直接跳出 first 循环
                if ( i == 2)
                    break first;
            }
        }
    }
}

输出

i = 1; j = 1
i = 1; j = 2
i = 2; j = 1

在上面的示例中, break first; 语句用于终止标记为 first 的循环,即下面的循环:

first:
for(int i = 1; i < 5; i++) {...}

在这里,如果我们将 break first; 改为 break second; 程序就会表现不同。在这种情况下,标记为 secondfor 循环将被终止。例如:

public class LabeledBreak {
  public static void main(String[] args) {

    // 标签为 first 的 for 循环
    first:
    for( int i = 1; i < 5; i++) {

      // 标签为 second 的 for 循环
      second:
      for(int j = 1; j < 3; j ++ ) {
        System.out.println("i = " + i + "; j = " +j);

        // 跳出 second 循环
        if ( i == 2)
          break second;
      }
    }
  }
}

输出

i = 1; j = 1
i = 1; j = 2
i = 2; j = 1
i = 3; j = 1
i = 3; j = 2
i = 4; j = 1
i = 4; j = 2

其他

break 语句还用于终止 switch 语句内的 case 。要了解更多信息,请访问 Java switch 语句