JavaRush /Курсы /JAVA 25 SELF /Цикл for: знакомство и нюансы работы

Цикл for: знакомство и нюансы работы

JAVA 25 SELF
4 уровень , 2 лекция
Открыта

1. Введение

Представьте, что у вас есть задание: десять раз вывести на экран «Привет!». Можно, конечно, написать десять строк с System.out.println("Привет!"); — но вы же теперь знаете цикл while, так что без проблем справитесь с этим.

Но есть ещё один цикл — for, который повторяет нужное действие необходимое количество раз. Причём умеет считать сам!

Вот типичный пример:

for (int i = 0; i < 10; i++)
{
    System.out.println("Привет!");
}
Классический цикл for — 10 раз вывести "Привет!"

Что делает этот код? Он выводит на экран слово «Привет!» ровно 10 раз. Без копипасты и боли в запястье.

2. Синтаксис цикла for

Цикл for состоит из трёх основных частей, которые записываются в круглых скобках после ключевого слова for:

for (инициализация; условие; изменение)
{
    // Тело цикла
}
Общий синтаксис цикла for

Давайте разберём каждый элемент подробно:

  • Инициализация — обычно создание переменной-счётчика, с которой ведётся отсчёт повторений (int i = 0).
  • Условие — проверка перед каждой итерацией. Если оно истинно — выполняется тело цикла. Если ложно — цикл заканчивается. Например, i < 10.
  • Изменение — оператор, который срабатывает после каждой итерации. Обычно увеличивает или уменьшает значение счётчика (i++).

Можно нарисовать схему:

Схема работы цикла for

3. Сравнение for и while

Возможно, вам станет понятнее, если я скажу, что for — это просто ещё одна запись цикла while.

Был у нас цикл while:

int i = 0;					// Инициализация переменной для цикла
while(i<10)					// Проверка условия продолжения цикла
{
    System.out.println(i); 	// Полезное действие (тело цикла)
    i++;					// Увеличение счетчика
}

Мы его можем записать в виде цикла for, просто переместив все действия, которые управляли логикой цикла:

for (int i = 1; i <= 10; i++)  // Инициализация; Проверка условия; Увеличение счетчика
{
    System.out.println(i);		// Полезное действие (тело цикла)
}

Шаги работы обоих циклов:

  1. Инициализация int i = 0; выполняется 1 раз до цикла.
  2. Затем выполняется проверка условия i <= 10
  3. Затем полезное действие цикла System.out.println(i);
  4. Потом увеличение счётчика i++
  5. Затем идёт переход на шаг 2.

4. Примеры использования цикла for

Самый простой пример

Давайте выведем числа от 1 до 5:

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

Вывод:

1
2
3
4
5

Примечание: если бы вы написали i < 5, последний вывод был бы 4.

Обратный отсчёт

Хотите почувствовать себя космонавтом? Сделаем обратный отсчёт!

for (int i = 5; i > 0; i--)
{
    System.out.println(i);
}
System.out.println("Поехали!");

Вывод:

5
4
3
2
1
Поехали!

Шаг цикла отличен от 1

Можно изменять счётчик не только на 1, но и на любое другое число:

for (int i = 0; i <= 10; i += 2)
{
    System.out.println(i);
}
// Выведет: 0 2 4 6 8 10

5. Вариации цикла for

Несколько переменных в цикле

Иногда удобно отслеживать сразу две переменные. Например, давайте нарисуем числа справа налево и слева направо:

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

Вывод:

1  10
2  9
3  8
...
10  1

Бесконечный цикл for

Если случай очень тяжёлый (например, ваш проект — вечный двигатель в IT), можно сделать «вечный» цикл for:

for (;;) // ни инициализации, ни условия, ни изменения
{
    System.out.println("Работать, работать и ещё раз работать!");
}
Бесконечный цикл for

Внимание: такой цикл закончится, только если в теле есть break, return или throw. Не используйте его без причины, иначе можно разбудить древнего демона — “Процесс не отвечает”.

1
Задача
JAVA 25 SELF, 4 уровень, 2 лекция
Недоступна
Обратный отсчёт до Нового года 🎉
Обратный отсчёт до Нового года 🎉
1
Задача
JAVA 25 SELF, 4 уровень, 2 лекция
Недоступна
Номера мест в вагоне 🚂
Номера мест в вагоне 🚂
1
Задача
JAVA 25 SELF, 4 уровень, 2 лекция
Недоступна
Подсчет общей стоимости покупок 🛍️
Подсчет общей стоимости покупок 🛍️
1
Задача
JAVA 25 SELF, 4 уровень, 2 лекция
Недоступна
Координаты движущихся объектов 🕹️
Координаты движущихся объектов 🕹️
Комментарии (12)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Vinse Уровень 4
8 марта 2026
Не очень понятно, для чего во второй задаче предлагается оператор "if" , если можно кратко и лаконично =) for (int i = 0; i <= 10; i += 2) { System.out.println(i); }
Yorgen Уровень 5
26 февраля 2026
3я задачка понравилась, убрал все подсказки сразу, сидел думал как представить себе это выражение с его переменными
Walter White Уровень 4
15 февраля 2026
Зачем в каждой задаче написаны комментарии, они же в 100 раз упрощают задачу....Удаляйте код полностью и пишите сами, если хотите научится
Natalia Уровень 5
8 декабря 2025
При решении 2-й задачи недоразумение возникло: по общепринятым соглашениям (Java Code Conventions), имена переменных должны начинаться с маленькой буквы, а в задании указано использовать N? При написании n при проверке выдается ошибка????
Mench Уровень 9
28 декабря 2025
Должны, но не обязаны . Условная константа и все.
9forty Уровень 13
5 декабря 2025
Было бы славно добавить в задачах возможность отключать комментарии.
Dthmth Уровень 11
23 октября 2025
Тут уже много раз писали в прошлых заданиях, но предазполнять циклы в таких задачах - как-то уж через чур даже для курсов для суперновичков)
C0N5P1RACY Уровень 41
17 октября 2025
В задаче №2 есть небольшая проблема. 0 не является натуральным числом, соответственно оно не может быть чётным. Задача №3, первый раз я решил без создания переменной i, на меня начал ругаться помощник в капюшоне что так нельзя, хотя программа работала правильно. Второй раз я сделал с переменной i, которой присвоил 0, он опять начал ругаться что так нельзя, хотя все работало так как должно. С третьего раза я сделал как хотел красный чел, и только тогда он пропустил задачу. Не понимаю в чем разница, ответы все одинаковые, просто надо было сделать один в один как задумывалось автором, я считаю в этом плане надо дать больше свободы.
Xaxatumba Уровень 38
4 ноября 2025
Про ноль ты не прав. Чётность нуля
NinaInfinity Уровень 21
19 сентября 2025
Ого! Думала, тут ничего нового не будет, а оказывается, можно в условие записывать сразу несколько переменных, удобно!
Андрей Уровень 27
22 сентября 2025
Это в джаве всегда можно было делать
5 декабря 2025
Другое дело, что в реальной жизни это встречается чуть реже, чем никогда