Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Оператор break в Java: как, когда и помеченные break

Оператор break в Java

Это руководство объясняет оператор break в Java, его синтаксис и использование помеченных break для точного управления циклами.

Работая с циклами, может понадобиться пропустить оставшиеся операторы в итерации или полностью завершить цикл без повторной проверки условия. Операторы break и continue обеспечивают этот контроль. Следующее руководство охватывает continue.


Оператор break немедленно выходит из самого внутреннего цикла или конструкции switch, и выполнение программы продолжается с оператора, следующего за завершенным блоком.

Чаще всего он используется в сочетании с условной логикой, такой как if…else, для создания точек раннего выхода.

Синтаксис:

break;

Как работает оператор break

Оператор break в Java: как, когда и помеченные 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 в Java: как, когда и помеченные break

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


Помеченный оператор break

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

Оператор break в Java: как, когда и помеченные break

Метка ставится перед циклом, и 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

  1. Освоение оператора switch в C#: синтаксис, примеры и лучшие практики
  2. Оператор break в C#: как и когда использовать
  3. Оператор continue в C#: как эффективно пропускать итерации циклов
  4. Освоение операторов Java: типы, синтаксис и практические примеры
  5. Комментарии в Java: типы, использование и лучшие практики
  6. Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
  7. Освоение строк в Java: создание, методы и лучшие практики
  8. Интерфейсы в Java: концепции, реализация и лучшие практики
  9. Try-with-resources в Java: автоматическое управление ресурсами
  10. Аннотации в Java: типы, размещение и практические примеры