4.1 条件语句 (if-else)
-
核心概念: 条件语句用于根据条件表达式的值来选择执行不同的代码块。
-
语法:
if (条件表达式) { // 条件为真时执行的代码块 } else if (条件表达式2) { // 条件表达式2为真时执行的代码块 } else { // 条件为假时执行的代码块 }
-
条件表达式: 必须是布尔类型或可以隐式转换为布尔类型的值。
-
执行流程:
- 计算
if
后的条件表达式的值。 - 如果条件为真 (
true
),则执行if
代码块。 - 否则,计算
else if
后的条件表达式的值,如果为真,则执行else if
代码块。 - 如果所有
if
和else 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 (条件表达式) { // 循环体代码块 }
-
条件表达式: 必须是布尔类型或可以隐式转换为布尔类型的值。
-
执行流程:
- 计算
while
后的条件表达式的值。 - 如果条件为真 (
true
),则执行循环体代码块。 - 执行完循环体后,再次计算条件表达式的值。
- 重复步骤 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 (初始化语句; 条件表达式; 更新语句) { // 循环体代码块 }
-
初始化语句: 在循环开始前执行一次,通常用于初始化循环变量。
-
条件表达式: 必须是布尔类型或可以隐式转换为布尔类型的值。
-
更新语句: 在每次循环迭代后执行,通常用于更新循环变量。
-
执行流程:
- 执行初始化语句。
- 计算条件表达式的值。
- 如果条件为真 (
true
),则执行循环体代码块。 - 执行更新语句。
- 重复步骤 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]); }