Цикл for действует практически так же, как и цикл while, с отличием в том, что проверка истинности условия находится в конце цикла, а это означает, что цикл будет выполнен минимум один раз, независимо от истинности условия.
Вот как выглядит блок-схема цикла do… while:
Для понимания того, как это работает на практике, давайте рассмотрим 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. Это связано с тем, что проверка истинности условия выполнения цикла происходи в конце, после выполнения его тела.