У цій статті ми розглянемо відмінності між циклом “while” та “do-while”.
Діаграма порівняння
Основа для порівняння | час | do-while |
---|---|---|
Загальна форма | час (умова) { заяви; // тіло циклу } | do { . заяви; // тіло циклу. . } час (умова); |
Управління станом | У циклі "while" умова керування з'являється на початку циклу. | У циклі "do-while" умови керування з'являються в кінці циклу. |
Ітерації | Ітерації не відбуваються, якщо умова на першій ітерації виявляється помилковою. | Ітерація відбувається принаймні один раз, навіть якщо умова є помилковою на першій ітерації. |
Визначення Loop
Цикл while є найбільш фундаментальним циклом, доступним у C ++ та Java. Робота циклу while аналогічна як для C ++, так і для Java.
while (умова) {твердження; // тіло циклу}
Цикл while спочатку перевіряє умову, і якщо умова є істинним, то він повторює цикл, поки умова не стане помилковою. Умова в циклі while може бути будь-яким булевим виразом. Коли вираження повертає будь-яке ненульове значення, умова «true», і якщо вираз повертає нульове значення, умова стає «помилковим». Якщо умова стає істинним, то цикл ітерації себе, і якщо умова стає помилковим, то управління переходить до наступного рядка коду, за яким слідує цикл.
Висловлювання або тіло циклу можуть бути або порожньою, або однією операцією або блоком операторів.
Давайте обговоримо роботу циклу while. У наведеному нижче прикладі код буде друкуватися від 1 до 10.
// Приклад в Java. class while {public статичні void main (args []) {int n = 0; while (n <= 10) {n ++; system.out.println ("n =" + n); }}} // вихід n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
Тут початкове значення 'n' дорівнює 0, що перетворює умову в циклі while. Контроль потім надходить у тіло циклу while, а значення 'n' збільшується відповідно до першого оператора в тілі циклу while. Потім значення 'n' друкується і знову управління повертається до умови циклу while, тепер значення 'n' дорівнює 1, що знову задовольняє умові, і тіло циклу виконується знову.
Це продовжується доти, доки умова не стане вірною, як тільки умова стане помилковим, цикл припиняється. Як і для циклу, цикл while також спочатку перевіряє стан, а потім виконує тіло циклу.
Визначення do-while Loop
Як і в циклі while, якщо умова контролю стає помилковою тільки в першій ітерації, то тіло циклу while взагалі не виконується. Але петля do-while дещо відрізняється від циклу while. Цикл do-while виконує тіло циклу принаймні один раз, навіть якщо умова є помилковою при першій спробі.
Загальна форма do-while полягає в наступному.
do {. statement // тіло циклу. . } час (умова);
У циклі do-while тіло циклу відбувається перед умовою керування, а умовна операція знаходиться в нижній частині циклу. Як і в циклі while, тут також, тіло циклу може бути порожнім, оскільки і C ++, і Java дозволяють використовувати нульові оператори або, може бути тільки одна операція або блок операторів. Умова тут також є булевим виразом, що справедливо для всіх ненульових значень.
У циклі do-while управління спочатку досягає оператора в тілі циклу do-while. Оператори в тілі спочатку виконуються, а потім керування досягає умової частини циклу. Умова перевіряється і, якщо воно є істинним, цикл повторюється знову, і якщо умова є помилковим, тоді управління повертається до наступного рядка негайно після циклу.
Давайте зрозуміємо його, впровадивши вищезгаданий приклад в do-while.
// Приклад в Java. class while {public статичні void main (args []) {int n = 1; do {system.out.println ("n =" + n); n ++; } при цьому (n <10)}} // вихід n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
Тут, значення n = 1, управління відновлюється до тіла циклу, значення 'n' друкується, а потім його значення збільшується. Потім управління відновлюється до стану циклу do-while; перевіряється умова, яка виходить істинною для n = 1, отже, цикл повторюється і продовжується, поки умова не стане помилковою.
Ключові відмінності між тим і тимчасовим циклом
- Цикл while перевіряє умову при запуску циклу і якщо умова виконується, оператор виконує всередині циклу. У циклі do-while умова перевіряється після виконання всіх операцій у тілі циклу.
- Якщо умова в циклі while помилкове, не виконується жодного оператора в циклі, і якщо умова в циклі "do-while" помилкове, то і тіло циклу виконується принаймні один раз, після чого перевіряється умова.
Висновок:
Цикл while і do-while - це операція ітерації, якщо ми хочемо, щоб перше, умова повинно бути перевірено, і тоді оператори всередині циклу повинні виконуватися, тоді використовується цикл while. Якщо ви хочете перевірити умову завершення в кінці циклу, то використовується цикл do-while.