--4.利用三种循环和goto手动循环语句求1到100的偶数和
1.loop循环:
declare --声明一个变量v_n和一个v_n和的变量v_sum并赋值为0 v_n number(10) := 0; v_sum number(10) := 0; begin loop --开始循环,v_n递增2,v_sum为之前的和加当前v_n的值 v_n := v_n + 2; v_sum := v_sum + v_n; exit when v_n >= 100; --当v_n的值大于等于100时退出循环(此时v_n=100,v_sum已经为2550了) end loop; --结束循环,输出v_sum的值,即2550 dbms_output.put_line(v_sum); end;
2.while循环:
declare v_n number(10) := 0; --同上,声明v_n和v_sum两个变量 v_sum number(10) := 0; begin while v_n < 100 loop --while的循环条件是写可执行的部分,v_n和v_sum递增规律同上 v_n := v_n + 2; v_sum := v_sum + v_n; end loop; --此时v_n=100,v_sum=2550,结束循环,输出v_sum的值 dbms_output.put_line(v_sum); end;
3.for循环:
declare v_sum number(10) := 0; --只声明v_sum一个变量和的值 begin for i in 1 .. 100 loop --循环输出1-100之间的数 if mod(i, 2) = 0 then --判断这个数i是不是偶数,是则参与循环,不是则不参与 v_sum := v_sum + i; --v_sum为之前符合条件的i的值的和加此时符合条件的i的值 end if; end loop; --此时i循环到100结束循环,输出此时v_sum的值为2550 dbms_output.put_line(v_sum); end;
4.goto循环:
declare --声明两个变量 v_n number(10) := 0; v_sum number(10) := 0; begin <<aa>> --开始循环,<<aa>>为标签,两个变量递增规律同上 v_n := v_n + 2; v_sum := v_sum + v_n; if v_n < 100 then --判断v_n是否还符合条件,成立则返回标签继续执行,不成立结束判断和循环 goto aa; end if; dbms_output.put_line(v_sum); --输出此时的v_n=100,v_sum=2550 end;
标签:语句,end,plsql,--,sum,number,循环,100 From: https://www.cnblogs.com/Argitacos/p/17306512.html