首页/ 第 5 章 · C# 编程基础/ 第 51 课
LESSON 51 · C# 编程基础

条件语句 if / else if / else

if / else / else if 已掌握。下一课学另一种分支 switch。

⏱ 约 15 分钟📊 难度:入门🗂 第 5 章 · C# 编程基础📍 第 51 / 300 课
课程进度
51 / 300

🎯本节学习目标

  • 掌握 if / else 语法
  • 掌握 else if 多分支
  • 会用条件做游戏逻辑

🚀课程导读

程序最强大的能力之一就是“看情况办事”:血量为 0 就死亡、按下按键才移动。这一切靠条件语句。

if / else 基础语法

最简单的判断。

  1. 语法:if (条件) { 条件成立执行的代码 }
  2. 条件是一个 bool 表达式(第 50 课的比较/逻辑运算结果)。
  3. 例:if (hp <= 0) { Debug.Log("角色死亡"); }
  4. 加 else:if (条件) { 成立时 } else { 不成立时 }
  5. 例:if (hp > 0) { Debug.Log("存活"); } else { Debug.Log("死亡"); }
  6. else 也可以没有(只关心成立的情况)。
  7. 注意:条件一定要写在圆括号 () 里,代码块用花括号 {}。
💡
单行代码可以不写花括号,但强烈建议都写,避免逻辑混乱。

else if 多分支

多个条件依次判断。

  1. 语法:if (条件1) { } else if (条件2) { } else if (条件3) { } else { 都不满足时 }
  2. 从上到下依次判断,满足一个就执行并“跳过”后续所有分支。
  3. 例:if (score >= 90) { Debug.Log("S 级"); } else if (score >= 80) { Debug.Log("A 级"); } else if (score >= 60) { Debug.Log("B 级"); } else { Debug.Log("不及格"); }
  4. 顺序很重要:必须先写 90 再写 80,否则 95 会被 80 分支提前接住。
  5. else 分支可省略:都不满足时什么都不做。
⚠️
else if 的顺序错了逻辑就全错:范围条件要“从大到小”或“从小到大”严格排列。

Unity 实战:状态判断

用 if 控制一个物体的行为。

  1. 新建脚本 ConditionDemo,挂到 Cube 上。
  2. 在 Update 里写:if (transform.position.y < -5f) { Debug.Log("掉下去了!"); }
  3. 加一个开关变量:bool isDead = false; 在 Update 里 if (isDead) { return; }(死亡后停止执行)。
  4. 结合比较:if (Input.GetKeyDown(KeyCode.Space)) { Debug.Log("按下了空格"); }(输入第 8 章详讲)。
  5. 播放测试:按空格触发输出;修改 isDead 看 return 效果。
  6. 【嵌套】if 里套 if:先判断是否死亡,再判断是否按了键,体会分支结构。
条件语句是游戏逻辑的骨架:几乎所有“该不该做”都由它决定。

常见错误与排查

错误:if 里写 x = 5 而不是 x == 5?
原因:把赋值当成了比较
解决:条件里一律用 == 比较;= 是赋值。

动手练习

课后小任务(做出来才算真的学会)

  • 写一个判断等级的多分支 if
  • 在 Update 里用 if 判断物体位置,低于阈值就打印
  • 用 bool 开关 + if 控制是否执行某段代码

本节小结

if / else / else if 已掌握。下一课学另一种分支 switch。

完成打卡后,主站会实时更新你的学习进度 🎯

← 上一课运算符详解