English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在本教程中,您将借助示例来学习break语句,该语句在Java中被标记为break语句。
在使用循环时,有时希望跳过循环内的某些语句或立即终止循环而不检查测试表达式。
在这种情况下,将使用break和continue语句。您将在下一章中了解continue语句.
Java中的break语句立即终止循环,程序的控制权移至循环后的下一条语句。
break语句它几乎总是与决策语句(Java if ... else语句)一起使用。
这是Java中break语句的语法:
break;
class Test { public static void main(String[] args) {}} // for 循环 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的输出值。
下面的程序计算用户输入的数字总和,直到用户输入负数。
为了接受用户的输入,我们使用了该Scanner对象。要了解更多信息Scanner,请访问Java Scanner.
import java.util.Scanner; class UserInputSum { 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(); //Если number отрицательное, цикл прерывается if(number < 0.0) { break; } sum += number; } System.out.println("Sum = " + sum); } }
Вывод:
Ввести число: 3.2 Ввести число: 5 Ввести число: 2.3 Ввести число: 0 Ввести число: -4.5 Sum = 10.5
В этом примере тестовое выражение цикла while всегда равно true. Обратите внимание на эту строку:
if(number < 0.0) { break; }
Это означает, что когда пользователь вводит отрицательное число, цикл while прерывается.
ДляВложенные циклыbreak прерывает самый внутренний цикл.
Здесь, break-оператор прерывает самый внутренний while-цикл, и управление переходит к внешнему циклу.
До сих пор мы использовали не помеченные break-операторы. Они прерывают самый внутренний цикл и инструкции switch. Но в Java есть и другой вид break-оператора, называемый помеченным break.
Мы также можем использовать помеченный break для прерывания внешнего цикла.
Как показано на рисунке, мы используем идентификатор label для указания внешнего цикла. Теперь обратите внимание, как используется этот break-оператор (break label;).
Здесь, этот break-оператор прерывает помеченный цикл (то есть внешнее кольцо). Затем программа переходит к следующей команде после указанного помеченного цикла.
Это другой пример:
while(testExpression) { // Код second: while(testExpression) { // Код while(testExpression) { // Код break second; } } //Контрольный прыжок сюда }
В предыдущем примере, когда выполняется команда break second;, после выполнения этой команды цикл while, помеченный как Second, будет прерван. И управление в программе будет передано к следующей команде после второго цикла while.
class LabeledBreak { public static void main(String[] args) {}} // пометка для цикла for, помеченного first first: for ( int i = 1; i < 5; i++) { // пометка для цикла for, помеченного second second: for (int j = 1; j < 3; j++) { System.out.println("i = " + i + "; j = " + j); //Прервание цикла первого for 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, помеченный как second, будет прерван. Например,
class LabeledBreak { public static void main(String[] args) {}} // пометка для цикла for, помеченного first first: for ( int i = 1; i < 5; i++) { // пометка для цикла for, помеченного second second: for (int j = 1; j < 3; j++) { System.out.println("i = " + i + "; j = " + j); // команда break завершает цикл, помеченный 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 также используется для завершения case в switch. Для получения дополнительной информации посетитеКонструкция switch Java.