Руководство по Java Core. Циклы. Цикл do… while.

Цикл for действует практически так же, как и цикл while, с отличием в том, что проверка истинности условия находится в конце цикла, а это означает, что цикл будет выполнен минимум один раз, независимо от истинности условия.

Вот как выглядит блок-схема цикла do… while:

doWhile

Для понимания того, как это работает на практике, давайте рассмотрим 2 примера простых приложений.

Пример 1:


public class DoWhileLoopFirstExample {
    public static void main(String[] args) {
        int i = 0;

        do {
            System.out.println("i = " + i);
            i++;
        } while (i < 10);
    }
}

В результате работы программы мы получим следующий результат:


/*Some system messages*/
i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9

Пример 2:


public class DoWhileLoopSecondExample {
    public static void main(String[] args) {
        int i = 10;

        System.out.println("do... while loop start:");
        do {
            System.out.println("i = " + i);
            i++;
        } while (i < 10);

        System.out.println("do... while loop end.");
    }
}

В результате работы программы мы получим следующий результат:


/*Some system messages*/
do... while loop start:
i = 10
do... while loop end.

Как мы видим, с самого начала условие не выполняется. i == 10, а не меньше 10. Несмотря на это, цикл выполняется 1 раз и выводит нам значение i == 10. Это связано с тем, что проверка истинности условия выполнения цикла происходи в конце, после выполнения его тела.