1. Вступ
Уявіть, що ви маєте завдання: вивести на екран слово «Привіт!» десять разів. Звісно, можна написати десять рядків із System.out.println("Привіт!"); — але ви вже знайомі з циклом while, тож легко впораєтеся.
Є ще один цикл — for, який повторює дію задану кількість разів і сам веде лічбу.
Ось типовий приклад:
for (int i = 0; i < 10; i++)
{
System.out.println("Привіт!");
}
Що робить цей код? Виводить на екран слово «Привіт!» рівно 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); // Корисна дія (тіло циклу)
}
Порядок виконання циклу (для наведеного прикладу):
- Ініціалізація int i = 0; виконується один раз перед циклом.
- Далі перевіряється умова i < 10.
- Потім корисна дія циклу System.out.println(i);.
- Потім збільшення лічильника i++.
- Після цього — перехід до кроку 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("Працювати, працювати і ще раз працювати!");
}
Увага: такий цикл завершиться лише якщо в тілі є break, return або throw. Не використовуйте його без потреби, інакше можна розбудити давнього демона — «Процес не відповідає».
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ