WHILE LOOP语句在条件为TRUE时运行一个或多个语句。
WHILE LOOP语句在条件变为FALSE或NULL时结束,当循环内的语句将控制转移到循环外或引发异常时也会结束。
语法格式如下。
while_loop_statement,boolean_expression是值为TRUE、FALSE或NULL的表达式。
boolean_expression在循环的每次迭代开始时进行评估。如果其值为TRUE,则LOOP之后的语句将运行。否则,控制转移到WHILE LOOP语句之后的语句。
对statement,为防止无限循环,至少有一条语句必须将boolean_expression的值更改为FALSE或NULL,将控制转移到循环外或引发异常。
可以将控制转移到循环外的语句如下。
(1)CONTINUE语句(当它将控制转移到封闭标记循环的下一次迭代时)。
(2)EXIT语句。
(3)GOTO语句。
(4)RAISE语句。
label是标识while_loop_statement的标签。CONTINUE、EXIT和GOTO语句可以引用这个标签。
标签提高了可读性,尤其是当LOOP语句嵌套时,但前提是确保END LOOP语句中的标签与同一LOOP语句开头的标签匹配。
示例2.16: 使用WHILE LOOP语句输出1~9,跳过5。
程序代码如下。
程序运行结果如下。