Что такое цикл пока?
Оператор цикла WHILE работает аналогично оператору цикла Basic, за исключением того, что условие 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: выводит значение «а».
- Строка кода 8: увеличивает значение «а» на +1.
- Строка кода 9: Ключевое слово END LOOP отмечает конец блока выполнения.
- Код из строки 7 и строки 8 будет продолжать выполняться до тех пор, пока 'a' не достигнет значения 6, так как условие вернет TRUE, и управление выйдет из цикла.
- Строка кода 10: Печать оператора "Программа завершена"
Резюме
Петля | WHILE Loop |
Критерии выхода | Выйти, когда условие проверки вернет false |
использование | Хорошо использовать, когда количество циклов неизвестно, а выход основан на каком-то другом условии. |