Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvPmLpCn 134 of 420 menu
◀ ▶

Инструкция continue в Java

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

Пусть у нас есть числа от 1 до 9. Давайте переберем их циклом и числа, которые делятся на 2, возведем в квадрат и выведем на экран, а числа, которые делятся на 3, возведем в куб и выведем на экран.

Вот решение описанной задачи:

for (int num = 1; num <= 9; num++) { if (num % 2 == 0) { int res = num * num; System.out.println(res); } else if (num % 3 == 0) { int res = num * num * num; System.out.println(res); } }

Как вы видите, строчка вывода res повторяется два раза. Давайте вынесем ее за if, вот так:

for (int num = 1; num <= 9; num++) { int res = 0; if (num % 2 == 0) { res = num * num; } else if (num % 3 == 0) { res = num * num * num; } System.out.println(res); // вынесли вывод за условие }

Теперь код, однако, работает немного не так: вывод переменной res выполнится и для чисел, которые не прошли через if. По условию задачи это не нужно.

Поправим проблему, добавив к нашему if еще условие else, которое будет срабатывать для чисел, не делящихся на 2 и на 3, и вызовем там инструкцию continue, которая сразу же будет перебрасывать нас на новую итерацию цикла:

for (int num = 1; num <= 9; num++) { int res = 0; if (num % 2 == 0) { res = num * num; } else if (num % 3 == 0) { res = num * num * num; } else { continue; // перейдем на новую итерацию цикла } System.out.println(res); // выполнится, если делится на 2 или 3 }

Так удобно отбрасывать лишние значения в начале тела цикла. Из чисел от 1 до 5 пропустим число 3:

for (int num = 1; num <= 5; num++) { if (num == 3) { continue; } System.out.println(num); // выведет 1, 2, 4 и 5 }

В строке "abcde" пропустим символ 'c':

String str = "abcde"; for (int i = 0; i < str.length(); i++) { char ch = str.charAt(i); if (ch == 'c') { continue; } System.out.println(ch); // выведет a, b, d и e }

Выведите на экран числа от 1 до 10, кроме 5.

Дан код:

String str = "program";

Выведите все символы, кроме буквы 'r'.

Напишите цикл, который выведет только четные числа от 1 до 100, пропуская нечетные с помощью continue.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить