Lazarus - IF语句

[复制链接]
  1. IF 语句,计算表达式结果进行分支。单行格式为:

  2. if 表达式 then
  3.   语句;
  4. 如果表达式结果为真,则执行该语句,否则跳过。

  5. IF 只接受一条语句;如果需要执行多条语句,则必须使用 begin-end:

  6. if 表达式 then
  7. begin
  8.   语句1;
  9.   语句2
  10. end;
  11. 当不满足条件时,还有一个选择:

  12. if 表达式 then
  13.   为真
  14. else
  15.   为假;
复制代码

表达式运算结果为假,则执行 else 后面的语句。
注意 else 前面没有分号,因为分号是两个语句之间的分隔符,而 else 并非语句。 如果在该处添了分号,则在编译的时候就会认为 if 语句到此结束,而把 else 当作另一句的开头。

如果有多个条件,只需要嵌套 if 语句:

  1. if 条件1 then
  2.   语句1
  3. else
  4.   if 条件1 then
  5.     语句2
  6.   else
  7.     语句3;
  8. 小心使用嵌套,程序运行结果可能不是你想要的。

  9. if 条件1 then
  10.   if 条件2 then
  11.     语句2
  12. else
  13.   语句1;

  14. else 总是匹配与它最近的 if:

  15. if 条件1 then
  16.   if 条件2 then
  17.     语句2
  18.   else
  19.     语句1;
  20. 你可以使用空语句:

  21. if 条件1 then
  22.   if 条件2 then
  23.     语句2
  24.   else
  25. else
  26.   语句1;
  27. 或者你可以使用 begin-end,但代码整洁的最佳方法是将条件重写。

  28. if not 条件1 then
  29.   语句1
  30. else
  31.   if 条件2 then
  32.     语句2;
  33. 如果表达式像这样:(not(a < b) or (c + 3 > 6)) and g,理解起来会很费劲。

  34. 仍需要注意,代码缩进便于阅读代码(编译器忽略缩进)。
复制代码