Ключевое слово break в Java используется для завершения циклов for, while или do-while. Его также можно использовать для завершения оператора switch.
Проще говоря, оператор break имеет два применения:
- завершает текущий цикл любого типа(for, while, do-while);
- он завершает случай в операторе switch;
1. Синтаксис
Синтаксис довольно прост. Используйте ключевое слово break с точкой с запятой(;). Мы также можем использовать метку.
while(testExpression) {//statement(s)if(break-condition)break;//statement(s)}//statement(s)
В приведенном выше примере цикл завершается немедленно, когда встречается оператор break. Затем управление потоком переходит к следующему оператору после цикла.

2. Пример оператора Break
Следующий пример демонстрирует цикл, включающий один break. В этом примере условие продолжения цикла всегда истинно, но он будет успешно остановлен, когда переменная i станет равной 0, с помощью break внутри условного оператора.
int i = 10;while(true) { // the condition to continue the loopif(i == 0) { // the condition to perform the break that stops this loopbreak;}i--;}
Оператор break завершает только тот цикл, в котором он находится в данный момент. Если этот цикл выполняется внутри другого цикла, внешний цикл не будет остановлен.
for(int i = 0; i < 10; i++) {for(int j = 0; j < 10; j++) {System.out.print(j + " ");if(i == j) {break;}}System.out.println();}
В этом примере оператор break не может остановить внешний цикл(с переменной i), и код выводит:
00 10 1 20 1 2 30 1 2 3 40 1 2 3 4 50 1 2 3 4 5 60 1 2 3 4 5 6 70 1 2 3 4 5 6 7 80 1 2 3 4 5 6 7 8 9
Чтобы остановить внешний цикл, мы могли бы объявить логическую переменную stopped и использовать ее как специальный логический флаг.
boolean stopped = false;for(int i = 0; i < 10 && !stopped; i++) {for(int j = 0; j < 10; j++) {System.out.print(j + " ");if(i == j) {stopped = true;break;}}System.out.println();}
Теперь вывод программы уже не тот:
0
3. Тип заявления о перерыве
Оператор break используется для выхода из блока. Существует две формы операторов break:
- Немаркированный оператор break
- Помеченный оператор break
3.1. Немаркированное заявление о разрыве
Немаркированные операторы break не имеют никаких меток. Они записываются просто как «break;». Пример немаркированного оператора break:
int i = 1;while(true) { // Cannot exit the loop from hereif(i <= 10) {System.out.println(i);i++;} else {break; // Exit the loop}}
ИЛИ мы знаем, как использовать их в операторах switch.
переключатель(переключатель-выражение) {метка случая1:заявления;перерыв;случай метка2:заявления;перерыв;по умолчанию:заявления;}
3.2. Помеченный оператор break
Здесь мы пишем имя метки после ключевого слова break. Пример помеченного оператора break:
break label_name;
Более подробный пример может быть таким:
blockLabel:{int i = 10;if(i == 5) {break blockLabel; // Exits the block}if(i == 10) {System.out.println("i is not five");}}
Оператор break завершает помеченный оператор; он не передает поток управления на метку. Поток управления передается оператору, который следует сразу за помеченным(завершенным) оператором.
Важно помнить один момент относительно маркированного оператора break: метка, используемая с оператором break, должна быть меткой блока, в котором используется этот маркированный оператор break.
Следующий фрагмент кода иллюстрирует неправильное использование помеченных операторов break:
lab1:{int i = 10;if(i == 10)break lab1; // Ok. lab1 can be used here}lab2:{int i = 10;if(i == 10) // A compile-time error. lab1 cannot be used here because this block is not// associated with lab1 label. We can use only lab2 in this blockbreak lab1;}
4. Оператор break с циклом while
Ниже приведена программа на Java, которая выводит числа от 1 до 5 и затем прерывает цикл while.
int i = 1;while(true){if(i > 5)break;System.out.println(i);i++;}
Вывод программы.
12345
5. Заключение
Оператор break позволяет завершать циклы или переключать случаи на основе определенных условий. Он может быть ценным инструментом для управления потоком вашей программы, особенно когда вам нужно преждевременно выйти из циклов.
Вот и все о ключевом слове break в Java и его использовании.