Java break 语句
Java break 语句
在本教程中,您将通过示例了解 Java 中的 break 语句,标记为 break 语句。
在处理循环时,有时希望跳过循环内的某些语句或立即终止循环而不检查测试表达式。
在这种情况下,break
和 continue
使用语句。您将在下一个教程中了解 Java continue 语句。
break
Java中的语句立即终止循环,程序的控制转移到循环之后的下一条语句。
它几乎总是与决策语句(Java if...else 语句)一起使用。
Java中break语句的语法如下:
break;
break 语句如何工作?
<图>
示例一:Java break 语句
class Test {
public static void main(String[] args) {
// for loop
for (int i = 1; i <= 10; ++i) {
// if the value of i is 5 the loop terminates
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 扫描器。
import java.util.Scanner;
class UserInputSum {
public static void main(String[] args) {
Double number, sum = 0.0;
// create an object of Scanner
Scanner input = new Scanner(System.in);
while (true) {
System.out.print("Enter a number: ");
// takes double input from user
number = input.nextDouble();
// if number is negative the loop terminates
if (number < 0.0) {
break;
}
sum += number;
}
System.out.println("Sum = " + sum);
}
}
输出 :
Enter a number: 3.2 Enter a number: 5 Enter a number: 2.3 Enter a number: 0 Enter a number: -4.5 Sum = 10.5
上述程序中,while
的测试表达式 循环总是 true
.在这里,注意这一行,
if (number < 0.0) {
break;
}
这意味着当用户输入负数时,while循环将终止。
Java 中断和嵌套循环
在嵌套循环的情况下,break
语句终止最里面的循环。

在这里,break 语句终止了最里面的 while
循环,控制跳转到外循环。
带标签的break语句
到目前为止,我们已经使用了未标记的 break 语句。它终止最里面的循环和 switch 语句。但是,Java 中还有另一种形式的 break 语句,称为带标签的 break。
我们也可以使用带标签的 break 语句来终止最外层的循环。
<图>
如上图所示,我们使用了 label 标识符来指定外循环。现在,请注意 break
使用语句 (break label;
)。
这里,break
语句正在终止带标签的语句(即外循环)。然后,程序的控制跳转到标记语句之后的语句。
这是另一个例子:
while (testExpression) {
// codes
second:
while (testExpression) {
// codes
while(testExpression) {
// codes
break second;
}
}
// control jumps here
}
在上面的例子中,当语句 break second;
执行时,while
循环标记为 second 被终止。并且,程序的控制转移到第二个while
之后的语句 循环。
示例3:带标签的break语句
class LabeledBreak {
public static void main(String[] args) {
// the for loop is labeled as first
first:
for( int i = 1; i < 5; i++) {
// the for loop is labeled as second
second:
for(int j = 1; j < 3; j ++ ) {
System.out.println("i = " + i + "; j = " +j);
// the break statement breaks the first for loop
if ( i == 2)
break first;
}
}
}
}
输出 :
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
在上面的例子中,labeled break
语句用于终止标记为 first 的循环。也就是说,
first:
for(int i = 1; i < 5; i++) {...}
在这里,如果我们更改语句 break first;
到 break second;
该程序将表现不同。在这种情况下,for
标记为第二个的循环将被终止。例如,
class LabeledBreak {
public static void main(String[] args) {
// the for loop is labeled as first
first:
for( int i = 1; i < 5; i++) {
// the for loop is labeled as second
second:
for(int j = 1; j < 3; j ++ ) {
System.out.println("i = " + i + "; j = " +j);
// the break statement terminates the loop labeled as 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
内的案例 陈述。要了解更多信息,请访问 Java switch 语句。
java