Java break 语句
break 语句用于跳出并终止循环。在本教程中,我们通过示例介绍在 Java 中如何使用 break 语句。
break 语句用于跳出并终止循环。在本教程中,我们通过示例介绍在 Java 中如何使用 break 语句。
在使用循环时,有时需要跳过循环内的某些语句或立即终止循环,在这种情况下,可以使用 break
和 continue
语句。您将在下一个教程中了解 Java continue 语句。
break
语句立即终止循环,程序的控制转移到循环后的下一条语句。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 语句
Java 中的 break
语句还可以和代码标签结合,以跳出标签指定的循环。
如上图所示,我们使用了标签标识符来指定外循环。现在,注意如何使用 break
语句 (break label;
)。
这是另一个例子:
while (testExpression) {
// codes
second:
while (testExpression) {
// codes
while(testExpression) {
// codes
break second;
}
}
// control jumps here
}
在上面的例子中,当执行 break second;
语句时,就跳出了标签为 second
的 while
循环,程序的控制转移到 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;
程序就会表现不同。在这种情况下,标记为 second
的 for
循环将被终止。例如:
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 语句。