1. WHILE语句
-
基本介绍:
WHILE语句的功能是根据条件判断的结果来循环执行一部分代码。只要条件成立,代码就会不断执行,直到条件不再成立。WHILE语句的格式为:WHILE 条件 LOOP 循环体 END LOOP;
-
工作原理:
在执行WHILE循环时,首先判断条件是否成立。如果成立,则执行循环体,然后再判断条件是否继续成立,直到条件不成立时,循环结束。 -
举例:
计算1+2+3+…+100的值。只要i
小于等于100,循环就会继续执行,并将当前值累加到total
中。SET SERVEROUTPUT ON; DECLARE i INTEGER := 1; total INTEGER := 0; BEGIN WHILE i <= 100 LOOP total := total + i; i := i + 1; END LOOP; dbms_output.put_line(total); END; /
- 解释:
在这个例子中,WHILE语句用来计算1到100之间所有整数的和。i
从1开始,每次循环都将i
的值加到total
中,并且i
递增1。循环在i
超过100时结束。最后,total
的值为5050。
- 解释:
2. FOR语句
-
基本介绍:
FOR语句的功能是指定一个起始值和一个终止值,在这个范围内反复执行一段代码。循环变量从起始值开始,每执行一次循环,变量自动加1或减1,直到与终止值相等时,循环结束。FOR语句的格式为:FOR 循环变量 IN [REVERSE] 起始值..终止值 LOOP 循环体 END LOOP;
-
工作原理:
在FOR语句中,循环变量从起始值开始到终止值之间的整数构成一个集合。在执行FOR语句时,循环变量会依次取集合中的每一个元素,并执行一次循环体。 -
举例:
还是使用前面的例子,求1+2+3+…+100的值,这次通过FOR语句来实现。SET SERVEROUTPUT ON; DECLARE total INTEGER := 0; BEGIN FOR i IN 1..100 LOOP total := total + i; END LOOP; dbms_output.put_line(total); END; /
- 解释:
在这个例子中,FOR语句使代码更加简洁。循环变量i
从1开始,到100结束,每次循环都将i
的值加到total
中。循环结束后,total
的值为5050,与WHILE语句的结果一致。
- 解释:
总结:
- WHILE语句适合在循环条件较为复杂且不确定循环次数的情况下使用。
- FOR语句更适合在循环次数已知的情况下使用,并且语法相对简洁。
非常感谢您读到这里!如果您觉得这篇文章对您有帮助,可以关注一下博主。关注后,您将第一时间获得最新的AI、云计算、运维(Linux、数据库,容器等)技术,以及更多实用的技能干货。
无论你是AI新手还是AI专家,学习最前沿的AI技术,AI创富俱乐部你值得拥有!