程序流程的控制之条件分支(Delphi)
几乎所有的语言都包含三种程序流程控制方法:
- 顺序,按照程序语句的顺序执行。
- 条件分支,根据不同的条件执行不同的语句。
- 循环,由特定条件决定某些语句重复执行的次数。
- 跳转
下面我们先来看看条件分支结构(if和case)
条件分支
if语句主要来检测一个条件,并根据这个条件是True或者False来执行一段代码;
var I: Integer; FileGood: Boolean; begin FileGood := True; if FileGood then { 简洁的写法,判断FileGood是否为True} ShowMessage('True'); { 上面的写法等同于下面} if FileGood = True then ShowMessage('True'); if I > 0 then { 如果I大于0} DoSomething1 else if I < 0 then { 如果I小于0,else if块不是必须的} DoSomething2 else { 如果是其他条件,通常来实现默认的处理,else块也不是必须的} DoSomething; end;
注意:使用if分支语句时else(包括else if)关键字之前的语句都不能包含“;”,因为整个if …then…else段被看成是一整条语句。
case语句可以看成是if语句的发展,它可以根据一个表达式的结果使程序执行多个代码块中的某一个代码块,此表达式的类型只能是有序类型变量作为条件因子,其他的如字符串则是行不通的。
var I: Integer; begin case I of 1: { 如果 I = 1} DoSomething1; 2, 3: { 如果 I = 2或者3,相当于if I in [2, 3]} DoSomething2; 4..10: { 如果 I在4到10范围内(含4和10)} DoSomething3; else { 如果是其他条件,通常用来实现默认处理,else块也不是必须的} DoSomething; end; end;
Q:什么是有序类型(Ordinal)?
A:有序,是说变量的取值是有序的,那么对于这样的变量,我们可以称为有序变量。有序变量取值必须落在既定的范围内,不能越界;如果强行越界,将会得到错误的运算结果。有序类型包括以下几种类型:
Integer、Cardinal、Shortint、Smallint、Longint、Int64、Byte、Word、Longword(DWORD)、Character(Char)、Boolean、Enumerated(枚举类型)和Subrange(子界类型)。
posted on 2011-12-17 12:28 pchmonster 阅读(3018) 评论(3) 编辑 收藏 举报