Skip to content

Операторы continue и break в Java

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

Цель:

  • Изучить операторы continue и break.
  • Понять их применение для управления потоком выполнения программы в циклах.
  • Закрепить навыки работы с циклами через примеры.

Оператор break

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

Пример:

public class Main {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            if (i == 5) {
                break;  // Цикл завершится, как только i станет равно 5
            }
            System.out.println(i);
        }
        System.out.println("Цикл завершён");
    }
}

Вывод:

0
1
2
3
4
Цикл завершён

Здесь, как только переменная i достигает значения 5, цикл прерывается, и дальнейшие итерации не выполняются.


Оператор continue

Оператор continue пропускает текущую итерацию цикла и переходит к следующей. Если continue встречается в теле цикла, оставшаяся часть кода в текущей итерации пропускается, и цикл продолжается с новой итерации.

Пример:

public class Main {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            if (i % 2 == 0) {
                continue;  // Пропускаем все чётные числа
            }
            System.out.println(i);
        }
    }
}

Вывод:

1
3
5
7
9

Здесь оператор continue пропускает вывод всех чётных чисел, и в консоль выводятся только нечётные числа.


Применение в различных циклах

Операторы continue и break могут использоваться в любых типах циклов: for, while, и do-while.

Пример использования break и continue в цикле while:

public class Main {
    public static void main(String[] args) {
        int i = 0;
        while (i < 10) {
            if (i == 5) {
                break;  // Прерываем цикл, когда i равно 5
            }
            if (i % 2 == 0) {
                i++;
                continue;  // Пропускаем чётные числа
            }
            System.out.println(i);
            i++;
        }
    }
}

Вывод:

1
3

Здесь цикл while использует оператор break для завершения, когда значение переменной i достигает 5, и оператор continue для пропуска чётных чисел.


Вложенные циклы и метки

Операторы break и continue могут быть использованы и во вложенных циклах. Вложенные циклы — это циклы, находящиеся внутри других циклов. Чтобы управлять вложенными циклами, в Java можно использовать метки.

Метки позволяют точно указать, какой цикл нужно прервать или из какого цикла выйти.

Пример использования меток с break:

public class Main {
    public static void main(String[] args) {
        outerLoop: // Метка для внешнего цикла
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                if (i == 2 && j == 2) {
                    break outerLoop;  // Прерываем внешний цикл
                }
                System.out.println("i = " + i + ", j = " + j);
            }
        }
    }
}

Вывод:

i = 0, j = 0
i = 0, j = 1
i = 0, j = 2
i = 0, j = 3
i = 0, j = 4
i = 1, j = 0
i = 1, j = 1
i = 1, j = 2
i = 1, j = 3
i = 1, j = 4
i = 2, j = 0
i = 2, j = 1

В этом примере, как только переменные i и j одновременно достигают значения 2, цикл прерывается с помощью оператора break с меткой outerLoop, что завершает внешний цикл.


Примеры для практики

  1. Задача: Найдите первое число, делящееся на 7 Напишите программу, которая выводит числа от 1 до 100 и завершает выполнение, как только находит первое число, делящееся на 7.

#### Решение: java public class Main { public static void main(String[] args) { for (int i = 1; i <= 100; i++) { if (i % 7 == 0) { System.out.println("Первое число, делящееся на 7: " + i); break; } } } }

  1. Задача: Вывести все нечётные числа от 1 до 20 Используйте оператор continue, чтобы пропускать чётные числа при выводе чисел от 1 до 20.

#### Решение: java public class Main { public static void main(String[] args) { for (int i = 1; i <= 20; i++) { if (i % 2 == 0) { continue; // Пропускаем чётные числа } System.out.println(i); } } }

  1. Задача: Завершение внешнего цикла с помощью метки Напишите программу, которая ищет пару чисел от 1 до 5, где произведение чисел равно 6. Программа должна завершить оба цикла, как только найдётся такая пара.

#### Решение: java public class Main { public static void main(String[] args) { outerLoop: // Метка для внешнего цикла for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) { if (i * j == 6) { System.out.println("Пара: " + i + ", " + j); break outerLoop; // Прерываем внешний цикл } } } } }


Заключение

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

Важные моменты:

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

[[Programming/java/1. osnovi/Тема 3. Основы ООП/Урок 6. Операторы Continue, break/задание]]