Назад Зміст Вперед

Урок 3.4. Рекурентні цикли. Оператори while та do-while

Цикл типу "поки" (оператори while і do ... while)


Оператор while повторює зазначені дії до тих пір, поки його параметр має справжнє значення.
Наприкладтакий цикл виконається 4 рази, а на екран буде виведено «1 2 3 4»:
int i = 1;
while (i < 5) {
    System.out.print(i + " ");
    i++;
}

Такий цикл не виконається жодного разу і на екран нічого не виведеться:
int i = 1;
while (i < 0) {
    System.out.print(i + " ");
    i++;    }

Такий цикл буде виконуватися нескінченно, а на екран виводиться «1 2 3 4 5 6 7 ...»:
int i = 1;
while (true) {
    System.out.print(i + " ");
    i++;    }

Умова, що визначає чи буде цикл повторяться знову, перевіряється перед кожним кроком циклу, в тому числі перед найпершим. Кажуть, що відбувається цикл з передумовою. Для його запису використовується конструкція з операторів do ... while

Такий цикл виконається 4 рази, а на екран буде виведено «2 3 4 5»:
int i = 1;
do {
    i++;
    System.out.print(i + " ");
} while (i < 5);

Такий цикл виконується 1 раз, а на екран буде виведено «2»:
int i = 1;
do {
    i++;
    System.out.print(i + " ");
} while (i < 0);

ПрикладВиведення на екран значень від 1 до 10.
int i = 1;
while(i < 11){
    System.out.println("i= " + i);
    i++;
}

Цикл while в Java

Конструкція while має наступний вигляд:
while(логічний вираз) {
    //тіло циклу
}
Конструкція while виконує вираз у фігурних дужках до тих пір, поки параметр логічний_вираз має справжнє значення (true). Цей параметр є умовою виконання циклу. У вище наведеному прикладі, логічний вираз має вигляд i <11.

Істинність логічного виразу (умови) перевіряється перед кожним кроком циклу, в тому числі і перед першим. while так само називають оператором з передумовою.

Наведемо приклад циклу, який не виконається жодного разу:
int i =10;
while(i < 5){
    System.out.println("i= " + i);
    i++;
}
Для реалізації нескінченного циклу, як параметр досить вказати true
while(true) {
    //тіло циклу
}

Цикл do-while в Java

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

На відміну від оператора whiledo-while є оператором з післяумовою, який спочатку виконує тіло циклу, а потім здійснює перевірку умови. Таким чином, тіло циклу виконається завжди хоча б один раз.

ПрикладВиведення на екран значень від 1 до 10.
int i = 1;
do{
    System.out.println("i = " + i);
    i++;
}while(i < 11);
Конструкція do - while має наступний вигляд:
do {    //тіло циклу} while(логічний вираз);

Як видно з конструкції, тіло циклу виконується перед перевіркою умови. Згодом, тіло циклу повториться у випадку, якщо логічний_вираз був істинний. Оператор do-while зручно застосовувати, якщо деякі дії необхідно виконати, принаймні, один раз, а їх повторення буде залежати від умови. Згадаймо приклад циклу while, який не виконається жодного разу, і перепишемо його за допомогою оператора do-while
int i =10;
do{
    System.out.println("i= " + i);
    i++;
}while(i < 5);
Після виконання циклу, на екран буде виведено значення і = 10.
Література для домашньої роботи:
Шилдт]: ст.138...147
Java. Урок 15. Циклы for и while
Java для начинающих. УРОК J-9. JAVA ОПЕРАТОРЫ ЦИКЛА (FOR, WHILE, DO-WHILE),ОПЕРАТОР BREAK
.