Какие виды циклов существуют в Java?

Ответ

В Java есть четыре основных вида циклов, каждый для своего сценария.

1. Цикл for

Используется, когда известно точное количество итераций.

for (инициализация; условие; итерация) {
    // тело цикла
}
// Пример: вывод чисел от 0 до 4
for (int i = 0; i < 5; i++) {
    System.out.println(i);
}

2. Цикл while

Выполняется, пока условие истинно. Проверка условия происходит перед каждой итерацией.

while (условие) {
    // тело цикла
}
// Пример
int i = 0;
while (i < 5) {
    System.out.println(i);
    i++;
}

3. Цикл do-while

Гарантирует как минимум одно выполнение тела цикла, так как проверка условия происходит после итерации.

do {
    // тело цикла
} while (условие);
// Пример
int i = 0;
do {
    System.out.println(i);
    i++;
} while (i < 5);

4. Усовершенствованный цикл for-each

Предназначен для удобного перебора элементов массивов или коллекций, реализующих интерфейс Iterable.

for (ТипЭлемента переменная : коллекцияИлиМассив) {
    // тело цикла
}
// Пример
List<String> names = List.of("Alice", "Bob", "Charlie");
for (String name : names) {
    System.out.println(name);
}

Управление выполнением:

  • break; — немедленный выход из цикла.
  • continue; — пропуск оставшейся части текущей итерации и переход к следующей. Важно: Неверное условие или отсутствие изменения переменной в теле цикла может привести к бесконечному циклу.

Ответ 18+ 🔞

Так, слушай сюда, про циклы в Java. Это ж как в жизни, блядь: иногда знаешь, сколько раз наступить на одни и те же грабли, а иногда просто пиздуй, пока не приедешь в нужное место. Четыре вида, и каждый со своим характером, ёпта.

1. Цикл for — для педантов и планировщиков Используется, когда ты заранее знаешь, сколько раз тебе надо наступить на эти грабли. Всё по полочкам: старт, проверка, шаг.

for (int i = 0; i < 5; i++) {
    System.out.println(i); // Выведет 0, 1, 2, 3, 4
}

Здесь всё чётко: начал с нуля, иди, пока меньше пяти, и после каждого шага прибавляй единичку. Красота, блядь.

2. Цикл while — для упрямцев и оптимистов Работает, пока условие — истина. Но проверяет-то он его перед тем, как сделать дело. То есть если с самого начала пиздец, то он может и не стартануть вообще.

int i = 0;
while (i < 5) {
    System.out.println(i); // Тот же результат: 0, 1, 2, 3, 4
    i++;
}

Главное — не забудь внутри i++ увеличить, а то получишь вечную петлю, и программа сядет на бутылку, пока ты не прибьёшь процесс, сука.

3. Цикл do-while — для наглецов и тех, кому «хоть разок, но надо» А вот этот пацан сначала делает, а потом уже думает. Гарантирует хотя бы один заход в тело цикла, даже если условие изначально хуёвое.

int i = 0;
do {
    System.out.println(i); // Сначала напечатает 0, а потом проверит
    i++;
} while (i < 5);

Полезно, когда тебе надо хоть что-то сделать, прежде чем спрашивать «а можно ли ещё?».

4. Усовершенствованный цикл for-each — для лентяев и эстетов Это когда тебе похуй на индексы, тебе просто нужно пройтись по всем элементам массива или списка. Красота, блядь, без лишнего геморроя.

List<String> names = List.of("Alice", "Bob", "Charlie");
for (String name : names) {
    System.out.println(name); // Просто берёт и выводит каждое имя
}

Никаких i, никаких условий выхода — просто иди по коллекции, как по коридору, и заглядывай в каждую комнату. Идеально для перебора, ёпта.

Про управление, чтоб не облажаться:

  • break; — это как крик «всё, я сваливаю!». Немедленный выход из цикла, нахуй все проверки.
  • continue; — это «этот шаг — говно, пропускаем». Перескакиваешь на следующую итерацию, не доделывая текущую.

И главное, блядь, следи за условием выхода! А то накодишь while (true) без break внутри — и приехал, пидарас. Программа зависнет, как твой мозг после пятницы, и будет жрать процессор, пока её не пристрелишь.