Шаг 12.
Язык программирования Java.
Цикл do while

На этом шаге мы рассмотрим цикл do while

На предыдущем шаге мы рассматривали цикл while. Цикл do while применяется, когда нужно чтобы тело цикла выполнилось хотя бы один раз. Синтаксис цикла do while приведем ниже:

 do {
 ...
 } while (условие);

Тело цикла do while будет выполняться пока будет истинно условие. Как только условие становиться ложным, происходит выход из цикла. Решим задачи, приведенные на предыдущем шаге, с использованием цикла do while.


Пример 1. Вывод всех квадратов натуральных чисел, не превосходящие 100.

public class PrimerFirst {
    public static void main(String[] args) {
        int i = 1;
        int count = 0;
        do {
            count++; /*Увеличим количество квадратов.*/
            i = count * count;
            System.out.println(i); /*Выведим на экран полученный квадрат.*/

	   /*Если квадрат числа не равен 100, то повторим тело цикла еще раз.*/
        } while (i != 100);
    }
}

Проект можно взять здесь.


Рис. 1. Вывод программы


Пример 2. Программа проверяет, является ли число степенью двойки.

 public class PrimerSecond {
    public static void main(String[] args) {
        int n = 513;
        int m = 8192;

        int i = 1;
        do {
/*
Если число n равно 1, то не имеет смысла выполнять тело цикла,
поэтому нужно выполнить оператор break.
*/
            if (n == 1) {
                break;
            }
            i *= 2;
        } while (i < n); /*Если i < n, то повторим тело цикла еще раз.*/

        int j = 1;
        do {
/*
Если число m равно 1, то не имеет смысла выполнять тело цикла,
поэтому нужно выполнить оператор break.
*/
            if (m == 1) {
                break;
            }
            j *= 2;
        } while (j < m); /*Если i < n, то повторим тело цикла еще раз.*/

        System.out.println((i == n) ? "YES" : "NO");
        System.out.println((j == m) ? "YES" : "NO");
    }
}

Проект можно взять здесь.


Рис. 2. Вывод программы

В данном примере встречается служебное слово break. В циклах оно служит для немедленного прекращения выполения цикла. В данном примере, если бы число n было равно 1, то тело первого цикла выполнилось 1 раз, т.к. условие, записанное в условном операторе было истинным и был бы выполенен оператор break. Наряду с оператором break существует оператор continue. Он отличается от оператора break, тем что программа, встретив его, немедленно прекращает выполнять не весь цикл, а только текущую итерацию цикла. Оператор continue применяется только в циклах, тогда как оператор break может применяться в операторе множественного выбора.


На следующем шаге мы рассмотрим массивы

Предыдущий шаг Содержание Следующий шаг