delphi if 语句循环语句

if语句-------------------------------------------------------------------------------------------------------------------------------------------------
其实delphi中的IF语句和VB中的语句有点相像,都是IF .... THEN...
不过DELPHI中的不同点就是语句的前后需要加个BEGIN,END.这个就相当于JAVA中的{}吧,呵呵。
下边写几个IF语句的例子":
1、IF.. THEN
if 1=1 then
begin
//这里写执行语句
end;

2、IF..ELSE
if 1=1 then
begin
..............
end //记住这里不能加分号。
else
begin
.....................
end; //这里需要加分号

3、IF...ELSE IF..
if 1=1 then
begin
..............
end //记住这里不能加分号。
else IF 1=2 THEN
begin
.....................
end; //这里需要加分号

OK,全部搞定了。
 
 
循环语句-----------------------------------------------------------------------------------------------------------------------------------------

在Delphi中可以使用for to/down to dowhile…dorepeat…until三种方式来实现循环控制。

01var
02  I: Integer;
03  X: Integer;
04begin
05  X := 10;
06  for I := 0 to 9 do       { I从0递增变化到9,依次执行10次DoSomething}
07  begin
08    { DoSomething}
09  end;
10  
11  for I := 0 to Pred(X) do { Pred(X)返回X的前一个值,即9}
12  begin
13    { DoSomething}
14  end;
15  
16  for I := 9  downto 0 do  { I从9递减变化到0,依次执行10次DoSomething}
17  begin
18    { DoSomething}
19  end;
20  
21  X := 8;                  { I从9递减到0,循环10次}
22  for I := Succ(X) downto 0 do
23  begin                    { Succ函数返回指定值的后一个}
24    { DoSomething}
25  end;
26  
27  I := 0;
28  while I <= 10 do  { 和for I := 0 to 10 do的功能是一样的}
29  begin
30    ShowMessage(IntToStr(I));
31    Inc(I);         { while的特点就是可以自己控制循环因子}
32  end;
33  
34  I := 0;
35  repeat            { 和while I <= 10 do 功能相同}
36    ShowMessage(IntToStr(I));
37    Inc(I);
38  until I = 10;
39  
40  I := 0;   { Inc以指定的值递增,Dec以指定的值递减}
41  Inc(I);   { I = 1}
42  Inc(I, 2);{ I = 3}
43  Dec(I, 2);{ I = 1}
44  Dec(I);   { I = 0}
45  ShowMessage(IntToStr(I));
46end;

Caution

使用for方式要注意,循环变量的步长是固定为1的,不能再循环体中用代码进行修改。

while的特点就是可以自行控制循环变量的变化,灵活性比for更大。

repeat是从while演化过来的。while首先要判断条件是否成立再执行,而repeat是首先执行,再判断条件是否成立。

Note

上面代码中对于I变量名的使用起源于FORTRAN语言,而这也是for循环的习惯用法。

Continue和Break过程

Continue过程,用来强制程序执行到循环底部并进入一个循环,而跳过Continue后面的所有语句。如果位于try…finally块中则会先执行finally..end块再进入下一个循环。

01var
02  I:Integer;
03begin
04  for I := 0 to 2 do
05  begin
06    try
07      if I < 1 then
08        Continue;
09      ShowMessage(IntToStr(I));
10    finally
11      ShowMessage('finally..end');
12    end;
13  end;
14end;

运行结果依次如下(图示中0,1,2分别代表循环变量I变化时的显示结果):

0027

Break过程,用来循环正常结束之前终止循环。如果位于try…finally块中,则finally…end块也会得到执行,例如下面代码:

01var
02  I:Integer;
03begin
04  for I := 0 to 2 do
05  begin
06    try
07      if I > 1 then
08        Break;
09      ShowMessage(IntToStr(I));
10    finally
11      ShowMessage('finally..end');
12    end;
13  end;
14end;

运行结果依次如下(图示中0,1,2分别代表循环变量I变化时的显示结果):

0028

Continue和Break只能用在for、while和repeat循环中,如果在循环外部用这两个过程将会产生编译器错误。

 
 
 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值