Карта / Управление потоком / Циклы (for, while)

Циклы (for, while)

«Сделай 5 раз». Цикл — вторая сила управления потоком: тело повторяется, пока условие верно.

i = 0 1 2 3 4 повторяем тело, пока i < 5
for (int i = 0; i < 5; i++) {   // i от 0 до 4
    System.out.println(i);
}

int n = 3;
while (n > 0) {                 // пока условие верно
    n--;
}
Копнуть глубже

Какой цикл когда:

ЦиклКогда брать
forизвестно, сколько раз
whileпока условие верно (число неизвестно)
do-whileвыполнить хотя бы раз, потом проверка
for-eachпройтись по коллекции/массиву без индекса
for (String name : names) {   // for-each — по каждому элементу
    System.out.println(name);
}
Под капотом

JIT разворачивает циклы (loop unrolling). Горячий цикл компилятор может «развернуть» — выполнить несколько шагов за один проход, чтобы реже проверять условие.

Бесконечный цикл. while (true) без break или выхода будет крутиться вечно — частая ошибка новичка. У цикла всегда должно быть условие выхода.

🎤 Закрыл тему, если можешь объяснить:
• когда брать `for`, а когда `while` (если дошёл до 2-го слоя);
• что такое разворачивание циклов и почему важно условие выхода (если дошёл до 3-го слоя).