Цикли є основним інструментом програмування, для реалізації можливості повторювати визначений набір дій доти, доки виконується певна умова.
В цій нотатці буде розглянуто два види циклів з умовою в Java – while та do-while.
Цикл while
Структура циклу while:
while (умова) {
// Тіло циклу
}Цикл буде виконуватись доти, доки умова в дужках істинна (true). Якщо умова хибна від початку, тіло циклу не виконується жодного разу. Приклад використання циклу while, для виведення чисел від 1 до 5 (включно):
public class Main {
public static void main(String[] args) {
int i = 1;
while (i <= 5) {
System.out.println(i);
i++;
}
}
}Цикл do-while
Структура циклу do-while:
do {
// Тіло циклу
} while (умова);Відмінність від while полягає в тому, що тіло циклу do-while виконується хоча б один раз, навіть якщо умова хибна від самого початку. Вже після виконання тіла циклу перевіряється умова, і якщо вона істинна, тіло циклу виконується повторно.
Цикл do-while зазвичай використовують коли немає сенсу перевіряти умову, якщо тіло циклу не було виконано. Наприклад коли в тілі циклу проходять певні обчислення, а їх результати використовуються в умові:
public class Main {
public static void main(String[] args) {
System.out.println("Enter value: ");
Scanner scanner = new Scanner(System.in);
String value = "";
do {
value = scanner.nextLine();
System.out.println("Your value: " + value);
} while (!value.equals("exit"));
scanner.close();
}
}Порівняння циклів while і do-while
- Цикл while перевіряє умову перед виконанням тіла циклу, цикл do-while перевіряє умову після виконання тіла циклу.
- Тіло циклу while може не виконатись жодного разу, якщо умова хибна з самого початку. Тіло циклу do-while, в любому випадку виконується хоча б один раз.
Вибір між циклами while і do-while залежить від того, чи є потреба виконати тіло циклу хоча б одного разу. Якщо так, використовується цикл do-while. В іншому разі використовується цикл while.