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++).

Схематично це виглядає так:

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; виконується один раз перед циклом.
  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

Якщо випадок дуже серйозний (наприклад, ваш проєкт — вічний двигун в ІТ), можна створити нескінченний цикл for:

for (;;) // ні ініціалізації, ні умови, ні зміни
{
    System.out.println("Працювати, працювати і ще раз працювати!");
}
Нескінченний цикл for

Увага: такий цикл завершиться лише якщо в тілі є break, return або throw. Не використовуйте його без потреби, інакше можна розбудити давнього демона — «Процес не відповідає».

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ