4.1 条件语句 (if-else)

  • 核心概念: 条件语句用于根据条件表达式的值来选择执行不同的代码块。

  • 语法:

    if (条件表达式) {
        // 条件为真时执行的代码块
    } else if (条件表达式2) {
        // 条件表达式2为真时执行的代码块
    } else {
        // 条件为假时执行的代码块
    }
    
  • 条件表达式: 必须是布尔类型或可以隐式转换为布尔类型的值。

  • 执行流程:

    1. 计算 if 后的条件表达式的值。
    2. 如果条件为真 (true),则执行 if 代码块。
    3. 否则,计算 else if 后的条件表达式的值,如果为真,则执行 else if 代码块。
    4. 如果所有 ifelse if 条件都为假,则执行 else 代码块(如果存在)。
  • 示例代码:

    int score = 85;
    
    if (score >= 90) {
        print("优秀");
    } else if (score >= 80) {
        print("良好");
    } else if (score >= 60) {
        print("及格");
    } else {
        print("不及格");
    }
    
    bool isRaining = true;
    if (isRaining) {
        print("带伞");
    } else {
        print("不带伞");
    }
    

4.2 循环语句 (while)

  • 核心概念: while 循环语句用于重复执行一段代码,直到指定的条件为假。

  • 语法:

    while (条件表达式) {
        // 循环体代码块
    }
    
  • 条件表达式: 必须是布尔类型或可以隐式转换为布尔类型的值。

  • 执行流程:

    1. 计算 while 后的条件表达式的值。
    2. 如果条件为真 (true),则执行循环体代码块。
    3. 执行完循环体后,再次计算条件表达式的值。
    4. 重复步骤 2 和 3,直到条件为假 (false)。
  • 示例代码:

    int i = 0;
    while (i < 5) {
        print(i);
        i++;
    }
    
    int sum = 0;
    int num = 1;
    while (num <= 100) {
        sum += num;
        num++;
    }
    print("1到100的和为:" .. sum);
    

4.3 循环语句 (for)

  • 核心概念: for 循环语句用于重复执行一段代码,通常用于已知循环次数的情况。

  • 语法:

    for (初始化语句; 条件表达式; 更新语句) {
        // 循环体代码块
    }
    
  • 初始化语句: 在循环开始前执行一次,通常用于初始化循环变量。

  • 条件表达式: 必须是布尔类型或可以隐式转换为布尔类型的值。

  • 更新语句: 在每次循环迭代后执行,通常用于更新循环变量。

  • 执行流程:

    1. 执行初始化语句。
    2. 计算条件表达式的值。
    3. 如果条件为真 (true),则执行循环体代码块。
    4. 执行更新语句。
    5. 重复步骤 2 到 4,直到条件为假 (false)。
  • 示例代码:

    for (int i = 0; i < 5; i++) {
        print(i);
    }
    
    int sum = 0;
    for (int i = 1; i <= 100; i++) {
        sum += i;
    }
    print("1到100的和为:" .. sum);
    

4.4 跳转语句 (break, continue)

  • 核心概念: 跳转语句用于改变循环的执行流程。

  • break 语句: 用于立即终止当前循环。

  • continue 语句: 用于跳过当前循环迭代的剩余部分,直接进入下一次迭代。

  • 示例代码:

    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            break; // 当 i 等于 5 时,终止循环
        }
        print(i);
    }
    
    for (int i = 0; i < 10; i++) {
        if (i % 2 == 0) {
            continue; // 当 i 为偶数时,跳过当前迭代
        }
        print(i); // 只输出奇数
    }
    

4.5 for循环的迭代器写法

  • 核心概念: FlexScript 支持使用迭代器风格的 for 循环,用于遍历列表和映射等数据结构。

  • 语法:

    for (变量名 : 列表或映射) {
        // 循环体代码块
    }
    
  • 列表遍历: 循环变量依次取列表中的每个元素。

  • 映射遍历: 循环变量依次取映射中的每个键。

  • 示例代码:

    list<int> numbers = [1, 2, 3, 4, 5];
    for (int num : numbers) {
        print(num);
    }
    
    map<string, string> students = {
        {"name", "Alice"},
        {"age", "20"},
        {"city", "Beijing"}
    };
    for (string key : students) {
        print(key .. ": " .. students[key]);
    }