(delphi11最新学习资料) Object Pascal 学习笔记---第3章第2节(if语句)

发布时间:2024年01月24日

Object Pascal 学习笔记,Delphi 11 编程语言的完整介绍 作者: Marco Cantu 笔记:豆豆爸

3.2 If 语句

? 条件语句用于根据特定测试(或条件)执行其包含的语句中的一个或多个语句,具体取决于该测试是否通过。有两种基本形式的条件语句:if 语句和 case 语句。

? if 语句可用于仅在满足特定条件时执行语句(if-then)或在两个不同的选择之间进行选择(if-then-else)。条件由一个布尔表达式定义。

? 让我们通过一个简单的 Object Pascal 示例(称为 IfTest)演示如何编写条件语句。在此程序中,我们将使用复选框获取用户输入,通过读取其 IsChecked 属性(并将其存储到临时变量中,尽管这并不是严格要求的,因为您可以直接在条件表达式中检查属性值):

var
  IsChecked: Boolean;
begin
  IsChecked := CheckBox1.IsChecked;
  if IsChecked then
    Show('Checkbox is checked');

? 如果复选框被选中,程序将显示一个简单的消息。否则,什么也不会发生。相比之下,使用 C 语言语法的相同语句如下(其中条件表达式必须用括号括起来):

if (IsChecked)
  Show("Checkbox is checked");

? 一些其他语言具有 endif 元素的概念,允许您编写多个语句,在 Object Pascal 语法中,条件语句默认情况下是单个语句。您可以使用 begin-end 块来执行多条语句,作为同一条件的一部分。

? 如果要根据条件执行不同的操作,可以使用 if-then-else 语句(在这种情况下,我使用了一个直接表达式来读取复选框的状态):

// If-then-else 语句
if CheckBox1.IsChecked then
  Show('Checkbox is checked')
else
  Show('Checkbox is not checked');

? 请注意,在第一条语句之后并在 else 关键字之前不能有分号,否则编译器将报出语法错误。原因是 if-then-else 语句是一个单独的语句,因此不能在其中间放置分号。

? if 语句可以相当复杂。条件可以是一系列条件(使用 andornot 布尔运算符),或者 if 语句可以再嵌套一个 if 语句。除了嵌套 if 语句之外,在存在多个不同条件的情况下,通常会有连续的 if-then-else-if-then 语句。您可以链式地添加任意多个这些 else-if 条件。

? IfTest 示例的第三个按钮演示了这些情景,使用编辑框的第一个字符(可能缺失,因此是外部测试的一部分)作为输入:

var
  AChar: Char;
begin
  // 多重嵌套 if 语句
  if Edit1.Text.Length > 0 then
  begin
    AChar := Edit1.Text.Chars[0];
    // 检查小写字符(两个条件)
    if (AChar >= 'a') and (AChar <= 'z') then
      Show('char is lower-case');
    // 后续条件
    if AChar <= Char(47) then
      Show('char is lower symbol')
    else if (AChar >= '0') and (AChar <= '9') then
      Show('char is a number')
    else
      Show('char is not a number or lower symbol');
  end;

仔细阅读代码并运行程序,看看你是否理解了它(也可以玩玩你能编写的类似程序,以学习更多知识)。你可以考虑更多的选项和布尔表达式,增加这个小例子的复杂性,进行任何你喜欢的测试。

文章来源:https://blog.csdn.net/langfengyl/article/details/135720162
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。