База знаний Бинариум

Циклы в Java: for, while, do-while и for-each с примерами

Циклы в Java

Посчитать сумму покупок, вывести таблицу, обработать тысячу строк файла — всё это задачи для циклов. В Java их четыре вида, и у каждого своя ниша.

Б

Редакция Бинариума

Пишем о профессиях в дизайне, BIM и IT · 6 минут чтения

for — когда известно число повторов

for (int i = 1; i <= 5; i++) {
  System.out.println("Шаг " + i);
}

Три части в скобках: начальное значение, условие продолжения и шаг. Классический выбор для перебора индексов.

while и do-while

while проверяет условие перед каждым шагом и может не выполниться ни разу. do-while проверяет после — и выполнится минимум один раз.

int balance = 1000;
while (balance > 0) {
  balance -= 300;
}

do {
  System.out.println("Введите пароль");
} while (!correct);

for-each — перебор коллекций

List<String> cities = List.of("Казань", "Самара");
for (String city : cities) {
  System.out.println(city);
}

Короче и надёжнее, когда индекс не нужен.

Курс Бинариума

Java с нуля — первые программы прямо в браузере

Подробнее

break и continue

ОператорЧто делает
breakПолностью выходит из цикла
continueПропускает текущую итерацию и переходит к следующей
for (int n : numbers) {
  if (n < 0) continue; // пропускаем отрицательные
  if (n == 0) break;    // стоп на нуле
  sum += n;
}

Частые ошибки

  • Бесконечный цикл — забыли изменить переменную в условии while.
  • Ошибка на единицу — < вместо <= и наоборот.
  • Выход за границы массива — индекс должен быть меньше length.
  • Удаление элементов в for-each — приводит к исключению.

Главное

  • for — для известного числа повторов.
  • while — пока условие истинно, do-while — минимум один раз.
  • for-each — для перебора коллекций и массивов.
  • break выходит из цикла, continue пропускает шаг.

Частые вопросы

Какой цикл самый быстрый?

Разница в скорости обычно несущественна. Выбирайте тот, который делает код понятнее.

Можно ли выйти из вложенного цикла?

Да, с помощью метки и break с её именем, но часто лучше вынести логику в отдельный метод.

Курс Бинариума

Java-разработчик с нуля

Основы языка, ООП и собственный проект.

  • 11 недель обучения
  • 10+ практических работ
  • Проект на GitHub
11.11.2026
Читайте также