Найти в Дзене
Анастасия Софт

Урок 16 для Java-разработчика. 💻💡Погружаемся в циклы Java: от while до break с практикой

Если бы у программиста был доллар за каждую строку кода, написанную в цикле, он бы уже не писал в цикле. :) В этой статье мы разберём, что такое циклы while, do-while, for, как работают операторы break, continue, и зачем вообще в Java нужен такой зоопарк управляющих конструкций. Мы пройдём через 8 задач от новичка до профи, снабдим каждый пример комментарием и в конце предложим тест и челлендж на закрепление. Scanner scanner = new Scanner(System.in);
String password;
do {
System.out.print("Введите пароль: ");
password = scanner.nextLine();
} while (!"qwerty123".equals(password));
System.out.println("Доступ разрешён!"); Комментарий: int value = 10;
while (value < 100) {
value += 10;
}
System.out.println(value); // 100 Комментарий: int[] numbers = {3, 5, 8, 14, 20};
for (int num : numbers) {
if (num % 7 == 0) {
System.out.println("Первое кратное 7: " + num);
break;
}
} Комментарий: for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) continue;
Syste
Оглавление
Урок 16 для Java-разработчика. 💻💡Погружаемся в циклы Java: от while до break с практикой
Урок 16 для Java-разработчика. 💻💡Погружаемся в циклы Java: от while до break с практикой

Введение

Если бы у программиста был доллар за каждую строку кода, написанную в цикле, он бы уже не писал в цикле. :) В этой статье мы разберём, что такое циклы while, do-while, for, как работают операторы break, continue, и зачем вообще в Java нужен такой зоопарк управляющих конструкций.

Мы пройдём через 8 задач от новичка до профи, снабдим каждый пример комментарием и в конце предложим тест и челлендж на закрепление.

Цикл while

Ситуация: Пользователь вводит пароль, пока не введёт правильный

Scanner scanner = new Scanner(System.in);
String password;
do {
System.out.print("Введите пароль: ");
password = scanner.nextLine();
} while (!"qwerty123".equals(password));
System.out.println("Доступ разрешён!");

Комментарий:

  • do { ... } while(...) гарантирует хотя бы одну попытку.
  • equals — сравнение строк (а не ==, не забываем!).

Цикл while

Задача: Увеличивать значение, пока оно меньше 100

int value = 10;
while (value < 100) {
value += 10;
}
System.out.println(value); // 100

Комментарий:

  • Переменная value увеличивается на 10, пока не достигнет 100.

Цикл с break

Задача: Найти первый элемент массива, делящийся на 7

int[] numbers = {3, 5, 8, 14, 20};
for (int num : numbers) {
if (num % 7 == 0) {
System.out.println("Первое кратное 7: " + num);
break;
}
}

Комментарий:

  • break — выход из цикла, как только найдено первое подходящее значение.

Цикл с continue

Задача: Пропустить чётные числа и распечатать только нечётные

for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) continue;
System.out.println(i);
}

Комментарий:

  • continue пропускает оставшуюся часть итерации, если число чётное.

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

Задача: Выйти из обоих циклов, когда найден элемент

outer:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i + j == 3) {
System.out.println("Найдено: " + i + "," + j);
break outer;
}
}
}

Комментарий:

  • break outer; завершает оба цикла.

continue с меткой

Задача: Перейти к следующей итерации внешнего цикла, если внутренний нашёл 2

outer:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (j == 2) continue outer;
System.out.println("i=" + i + ", j=" + j);
}
}

Комментарий:

  • continue outer перескакивает на следующую итерацию внешнего цикла, как только j == 2.

Цикл for с несколькими переменными

Задача: Идём слева и справа одновременно

for (int left = 1, right = 10; left < right; left++, right--) {
System.out.println("Пара: " + left + ", " + right);
}

Комментарий:

  • Отличный способ итерироваться с двух концов массива одновременно.

do-while — гарантированный минимум 1 итерация

Задача: Печать хотя бы один раз, даже если условие ложно

int attempts = 0;
do {
System.out.println("Попытка #" + (++attempts));
} while (false);

Комментарий:

  • do-while нужен, когда действие обязательно должно быть выполнено хотя бы один раз.

🧠 Челлендж перед выводом

Задача: Найдите ошибку и исправьте

int n = 5;
while (n = 5) {
System.out.println(n);
n--;
}

✅ Закрепим знания: Мини-тест

1. Что напечатает этот код?

int x = 1;
do {
System.out.print(x);
} while (x > 1);

  • a) ничего
  • b) 1
  • c) бесконечный цикл

2. Что делает continue?

  • a) выходит из программы
  • b) завершает текущую итерацию цикла
  • c) пропускает все итерации

3. Сколько раз выполнится тело цикла?

int i = 0;
while (i < 3) {
i++;
}

  • a) 0
  • b) 2
  • c) 3

🧾 Вывод

  • Используем while и do-while, когда неизвестно, сколько раз выполнять.
  • Используем for, когда точно знаем, сколько раз итерироваться.
  • break и continue — это удобные кнопки "СТОП" и "ПРОПУСТИ" в цикле.
  • Метки (label:) полезны, когда вложенные циклы и нужен точный контроль.

Ну что, почувствовали себя хозяевами циклов? ;)

✅ Ответы на тест

  1. b) 1 — do-while всегда выполняется хотя бы один раз.
  2. b) — continue завершает текущую итерацию и переходит к следующей.
  3. c) 3 — i увеличивается от 0 до 3, пока условие i < 3 выполняется.

Хочешь ещё глубже? Следующая статья будет о for-each, Stream.forEach, и магии Iterator. Подпишись, чтобы не пропустить!