HOME / 第 2 部分 · 核心概念与 GDScript 语法 / 第 12 课
MODULE 2 · 核心概念与 GDScript 语法
第 12 课 · 运算符与表达式
🎯 本课学习目标
- 掌握算术、比较、逻辑、赋值运算符
- 理解字符串拼接
- 会用 +=、-= 等简写
运算符是「让数据发生关系」的符号。本课把 GDScript 的运算符一次讲全。
📖 详细教学步骤
算术运算符语法
| 运算符 | 含义 | 示例 | 结果 |
|---|---|---|---|
| + | 加 | 5 + 3 | 8 |
| - | 减 | 5 - 3 | 2 |
| * | 乘 | 5 * 3 | 15 |
| / | 除 | 7 / 2 | 3.5 |
| % | 取余 | 7 % 2 | 1 |
| ** | 幂 | 2 ** 3 | 8 |
比较运算符(结果是 bool)语法
| 运算符 | 含义 | 示例 |
|---|---|---|
| == | 等于 | 5 == 5 → true |
| != | 不等于 | 5 != 3 → true |
| > | 大于 | 5 > 3 → true |
| < | 小于 | 5 < 3 → false |
| >= | 大于等于 | 5 >= 5 → true |
| <= | 小于等于 | 4 <= 5 → true |
💡 注意:判断相等要用 ==(两个等号),= 是赋值。
逻辑运算符语法
| 运算符 | 含义 | 说明 |
|---|---|---|
| and | 与 | 两边都 true 才 true |
| or | 或 | 有一边 true 就 true |
| not | 非 | 取反 |
GDSCRIPTvar hp = 50
var has_shield = true
# 与:hp>0 且 有护盾
print(hp > 0 and has_shield) # true
# 或:hp>100 或 有护盾
print(hp > 100 or has_shield) # true
# 非
print(not has_shield) # false
赋值与简写语法
给变量赋值常用简写,省时省事:
GDSCRIPTvar score = 10
score += 5 # 等价 score = score + 5 → 15
score -= 2 # score = score - 2 → 13
score *= 2 # score = score * 2 → 26
score /= 2 # score = score / 2 → 13
score += 1 # 计数器常用
# 字符串拼接
var first = "Godot"
var last = "Game"
var full = first + " " + last # "Godot Game"
print(full)
字符串与数字互转语法
游戏里经常要把数字变成文字(显示分数):
GDSCRIPTvar score = 100
var text = "得分: " + str(score) # str() 转字符串
print(text)
var s = "42"
var n = int(s) # 转整数 → 42
var f = float(s) # 转小数 → 42.0
print(n + 1) # 43
⚠️
用 = 判断相等导致逻辑错误?
这是新手最常见 bug:if score = 100 是赋值(永远为真),必须写 if score == 100。
⚠️
字符串与数字相加报错?
字符串 + 数字会报错,必须先用 str(数字) 转成字符串,例如 "分数" + str(10)。
🧪 动手试一试
🏋️ 课后练习
写一段代码:把变量 hp 从 0 加到 100(每次 +10),并用字符串拼接 print 出每一轮的结果,同时判断 hp==50 时输出'半血了'。
用 += 和 == 判断。参考:hp += 10; print("HP=" + str(hp)); if hp == 50: print("半血了")
💡
取余 % 常用于:判断奇偶、让数字循环(如 0-9 循环)、动画帧切换。
💡
调试时把每一步 print 出来,能快速验证运算符结果。
🎓 本课小结
算术/比较/逻辑/赋值四大类运算符构成表达式;== 才是判断相等;字符串拼接用 + 与 str()。