Що таке While Loop?
Інструкція циклу WHILE працює подібно до оператора Basic loop, за винятком умови EXIT, яка знаходиться на самому початку циклу .
Це працює як цикл перевірки входу, в якому блок виконання навіть один раз не буде виконаний, якщо умова не виконана, оскільки умова виходу перевіряється перед виконанням частини. Він не вимагає явного виходу з циклу ключового слова "EXIT", оскільки він неявно перевіряє умову кожного разу, коли відбувається цикл.
WHILEПояснення синтаксису:LOOP … END LOOP;
- У наведеному вище синтаксисі ключове слово "WHILE" позначає початок циклу, а "END LOOP" - кінець циклу.
- Умова EXIT обчислюється кожного разу перед тим, як виконувальна частина починає виконуватися.
- Блок виконання містить весь код, який потрібно виконати.
- Частина виконання може містити будь-яку заяву про виконання.
Приклад 1 : У цьому прикладі ми збираємось надрукувати число від 1 до 4 за допомогою оператора циклу WHILE. Для цього ми виконаємо наступний код.
DECLAREa NUMBER :=1;BEGINdbms_output.put_line('Program started');WHILE (a <= 5)LOOPdbms_output.put_line(a);a:=a+1;END LOOP;dbms_output.put_line(‘Program completed' ); END:/
Пояснення коду:
- Рядок коду 2 : Оголошення змінної 'a' як 'тип даних' NUMBER та ініціалізація її значенням '1'.
- Рядок коду 4 : Друк виписки "Програма запущена".
- Рядок коду 5: Ключове слово 'WHILE' позначає початок циклу, а також перевіряє, чи значення 'a' менше або дорівнює 5
- Рядок коду 7: Друкує значення 'a'.
- Рядок коду 8: Збільшує значення 'a' на +1.
- Рядок коду 9: Ключове слово 'END LOOP' позначає кінець блоку виконання.
- Код з рядка 7 і рядка 8 буде продовжувати виконуватися доти, поки 'a' не досягне значення 6, оскільки умова поверне TRUE, а елемент керування EXIT із циклу.
- Рядок коду 10: Друк виписки "Програма виконана"
Резюме
Петля | В той час, як петля |
Критерії виходу | Вихід, коли умова перевірки повертає false |
Використання | Добре використовувати, коли кількість циклів невідома, а вихід базується на якійсь іншій умові. |