在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
循环式编程语言中给一个共同的元素,它可以用来重复执行某个动作,知道某个特定的条件。 所有循环都有以下的元素:
循环的开始点是Object Pascal循环语句之一(for、while和repeat),每次循环迭代时,主体包含的语句都要执行一次,主体包含任何有效的Object Pascal代码,它可以是单行代码,也可以使多行代码。若主体包含的是多行代码,其代码必须用begin和end语句分块(只有repeat循环例外)。循环的结束点要么是关键字end(在for循环和while循环情况下),要么是关键字until(在repeat循环情况下)。当一个循环主体是单行代码时,就不需要用关键字begin和end。 大部分循环都是这样操作的:进入循环并检验条件,若检验结果为False,则执行循环主体,当程序执行到循环体底部时,它将跳回循环顶部,并再一次检验条件,如果检验结果仍然是False,则重复整个以上过程,若检验结果是True,则程序将立刻跳到紧跟在循环代码块后面的代码行。(这些描述对于repeat循环是个例外,它是在循环底部检验条件,而不是在循环顶部。)
在Delphi中可以使用for to/down to do、while…do和repeat…until三种方式来实现循环控制。 var I: Integer; X: Integer; begin X := 10; for I := 0 to 9 do { I从0递增变化到9,依次执行10次DoSomething} begin { DoSomething} end; for I := 0 to Pred(X) do { Pred(X)返回X的前一个值,即9} begin { DoSomething} end; for I := 9 downto 0 do { I从9递减变化到0,依次执行10次DoSomething} begin { DoSomething} end; X := 8; { I从9递减到0,循环10次} for I := Succ(X) downto 0 do begin { Succ函数返回指定值的后一个} { DoSomething} end; I := 0; while I <= 10 do { 和for I := 0 to 10 do的功能是一样的} begin ShowMessage(IntToStr(I)); Inc(I); { while的特点就是可以自己控制循环因子} end; I := 0; repeat { 和while I <= 10 do 功能相同} ShowMessage(IntToStr(I)); Inc(I); until I = 10; I := 0; { Inc以指定的值递增,Dec以指定的值递减} Inc(I); { I = 1} Inc(I, 2);{ I = 3} Dec(I, 2);{ I = 1} Dec(I); { I = 0} ShowMessage(IntToStr(I)); end;
Continue和Break过程 Continue过程,用来强制程序执行到循环底部并进入一个循环,而跳过Continue后面的所有语句。如果位于try…finally块中则会先执行finally..end块再进入下一个循环。 var I:Integer; begin for I := 0 to 2 do begin try if I < 1 then Continue; ShowMessage(IntToStr(I)); finally ShowMessage('finally..end'); end; end; end; 运行结果依次如下(图示中0,1,2分别代表循环变量I变化时的显示结果): Break过程,用来循环正常结束之前终止循环。如果位于try…finally块中,则finally…end块也会得到执行,例如下面代码: var I:Integer; begin for I := 0 to 2 do begin try if I > 1 then Break; ShowMessage(IntToStr(I)); finally ShowMessage('finally..end'); end; end; end; 运行结果依次如下(图示中0,1,2分别代表循环变量I变化时的显示结果): Continue和Break只能用在for、while和repeat循环中,如果在循环外部用这两个过程将会产生编译器错误。 以上代码均在Delphi7中测试通过。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论