Цикли є основним інструментом програмування, для реалізації можливості повторювати визначений набір дій доти, доки виконується певна умова.

В цій нотатці буде розглянуто два види циклів з умовою в 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.


Мітки: