IF语句运行或跳过一个或多个语句的序列,具体取决于BOOLEAN表达式的值。分为下列3种情况。
(1)IF THEN。
(2)IF THEN ELSE。
(3)IF THEN ELSIF。
语法格式如下。
语义描述如下。
boolean_expression
①值为TRUE、FALSE或NULL的表达式。
②第一个boolean_expression总是被评估。仅当前面表达式的值为FALSE时,才会评估其他每个boolean_expression。
③如果计算一个boolean_expression并且其值为TRUE,则相应THEN之后的语句将运行。随后的表达式不会被计算,与它们关联的语句也不会运行。
ELSE
如果布尔表达式的值不是TRUE,则运行ELSE之后的语句。
IF THEN语句根据条件运行或跳过一个或多个语句。
IF THEN语句具有以下结构。
如果condition为真,则statements运行;否则,statements不运行。
示例2.7: IF THEN语句。
功能描述: 在本例中,当且仅当a大于b时,打印a-b的值。
程序代码如下。
程序运行结果如下。
IF THEN ELSE语句具有以下结构。
如果条件的值为真,则statements运行;否则,else_statements运行。
IF语句可以嵌套,如示例2.8所示。
示例2.8: IF THEN ELSE语句。
功能描述: 在本例中,当a大于b时,打印a-b的值,当a等于b时,打印“a=b”,当a小于b时,打印a+b的值。
程序代码如下。
程序运行结果如下。
IF THEN ELSIF语句具有以下结构。
IF THEN ELSIF语句运行条件为真的第一条语句,不计算剩余条件。如果没有条件为真,则运行else_statements(如果存在);否则,IF THEN ELSIF不执行任何语句。
相比等效嵌套的IF THEN ELSE语句,单个IF THEN ELSIF语句更易于理解。代码如下。
示例2.9: IF THEN ELSIF语句。
功能描述: 在本例中,使用ELSIF具有嵌套IF THEN ELSE同样的功能。
程序代码如下。
程序运行结果如下。
示例2.10: IF THEN ELSIF语句模拟简单的CASE语句。
功能描述: 本例中使用带有许多ELSIF子句的IF THEN ELSIF语句,将单个值与许多可能值进行比较。相比而言,一个简单的CASE语句更清晰,见示例2.11。
程序代码如下。
程序运行结果如下。