Операторы 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
, что завершает внешний цикл.
Примеры для практики
- Задача: Найдите первое число, делящееся на 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 до 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 до 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/задание]]