Циклы while и for в Java
Циклы в Java: while, do-while и for, управление циклом через break и continue. Научимся повторять действия и перебирать значения.
Цикл повторяет блок кода, пока выполняется условие. Без циклов пришлось бы копировать один и тот же код десятки раз.
Цикл while
while проверяет условие перед каждой итерацией и повторяет тело, пока условие истинно.
int i = 1;
while (i <= 5) {
System.out.println("Шаг " + i);
i++; // обязательно меняем переменную, иначе цикл вечный
}
Вывод:
Шаг 1 Шаг 2 Шаг 3 Шаг 4 Шаг 5
Если забыть изменить переменную условия (
i++), цикл никогда не остановится — это бесконечный цикл.
Цикл do-while
Похож на while, но проверяет условие после тела. Поэтому тело выполнится хотя бы один раз, даже если условие сразу ложно.
int n = 10;
do {
System.out.println("Выполнилось один раз, n = " + n);
} while (n < 5);
Вывод:
Выполнилось один раз, n = 10
Цикл for
Когда число повторений известно, удобнее for. Он собирает в одной строке три части: инициализацию счётчика, условие и шаг.
for (int i = 1; i <= 5; i++) {
System.out.println(i * i); // квадраты чисел
}
Вывод:
1 4 9 16 25
Порядок работы for: int i = 1 выполняется один раз в начале; затем перед каждой итерацией проверяется i <= 5; после тела выполняется i++.
break и continue
Внутри цикла поведение можно менять: break досрочно выходит из цикла, continue пропускает остаток текущей итерации и переходит к следующей.
for (int i = 1; i <= 10; i++) {
if (i == 6) {
break; // выходим из цикла на шестёрке
}
if (i % 2 == 0) {
continue; // пропускаем чётные
}
System.out.println(i);
}
Вывод:
1 3 5
Коротко
whileпроверяет условие до тела,do-while— после (тело выполнится минимум раз).forудобен, когда число итераций известно: инициализация, условие и шаг в одной строке.- Всегда меняйте переменную условия, иначе получите бесконечный цикл.
breakвыходит из цикла,continueпереходит к следующей итерации.