Оператор break в Java: как, когда и помеченные break
Оператор break в Java
Это руководство объясняет оператор break в Java, его синтаксис и использование помеченных break для точного управления циклами.
Работая с циклами, может понадобиться пропустить оставшиеся операторы в итерации или полностью завершить цикл без повторной проверки условия. Операторы break и continue обеспечивают этот контроль. Следующее руководство охватывает continue.
Оператор break немедленно выходит из самого внутреннего цикла или конструкции switch, и выполнение программы продолжается с оператора, следующего за завершенным блоком.
Чаще всего он используется в сочетании с условной логикой, такой как if…else, для создания точек раннего выхода.
Синтаксис:
break;
Как работает оператор break

Пример 1: Использование break в цикле for
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
Цикл выводит значения от 1 до 4. Блок if проверяет i; когда оно равно 5, break останавливает цикл.
Пример 2: break в цикле while с пользовательским вводом
Здесь мы суммируем числа, введенные пользователем, пока не будет введено отрицательное число.
Используем Scanner для чтения ввода. Подробнее о Scanner см. в учебнике Java Scanner.
import java.util.Scanner;
class UserInputSum {
public static void main(String[] args) {
Double number, sum = 0.0;
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);
}
}
Вывод:
Введите число: 3.2 Введите число: 5 Введите число: 2.3 Введите число: 0 Введите число: -4.5 Сумма = 10.5
Цикл while (true) работает бесконечно, пока break не сработает при вводе отрицательного значения.
Break во вложенных циклах
Во вложенных циклах break выходит только из самого внутреннего цикла.

Иллюстрация показывает, что break внутри внутреннего while переходит к внешнему циклу.
Помеченный оператор break
Помимо простого break, Java предлагает помеченный вариант, который может завершить внешний цикл напрямую. Это полезно, когда нужно выйти из нескольких уровней вложенных циклов.

Метка ставится перед циклом, и break label; завершает именно этот цикл, переходя к оператору после него.
while (testExpression) {
// код
second: while (testExpression) {
// код
while(testExpression) {
// код
break second;
}
}
// управление переходит сюда
}
Когда выполняется break second;, цикл с меткой second заканчивается, и управление возобновляется после этого цикла.
Пример 3: Использование помеченного break
class LabeledBreak {
public static void main(String[] args) {
first: for (int i = 1; i < 5; i++) {
second: for (int j = 1; j < 3; j++) {
System.out.println("i = " + i + "; j = " + j);
if (i == 2) break first;
}
}
}
}
Вывод:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Здесь break first; выходит из внешнего цикла for, поэтому программа останавливается после вывода третьей строки.
Если заменить break first; на break second;, завершится только внутренний цикл, а внешний продолжит работу.
class LabeledBreak {
public static void main(String[] args) {
first: for (int i = 1; i < 5; i++) {
second: for (int j = 1; j < 3; j++) {
System.out.println("i = " + i + "; j = " + j);
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. Подробнее: Оператор switch в Java.
java
- Освоение оператора switch в C#: синтаксис, примеры и лучшие практики
- Оператор break в C#: как и когда использовать
- Оператор continue в C#: как эффективно пропускать итерации циклов
- Освоение операторов Java: типы, синтаксис и практические примеры
- Комментарии в Java: типы, использование и лучшие практики
- Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
- Освоение строк в Java: создание, методы и лучшие практики
- Интерфейсы в Java: концепции, реализация и лучшие практики
- Try-with-resources в Java: автоматическое управление ресурсами
- Аннотации в Java: типы, размещение и практические примеры