现在我们学会了布尔类型,接下来学习如何让程序根据布尔值做出不同的决定。这就是条件语句!
想象你站在一个交通灯前:
你会根据不同的灯的颜色做出不同的决定,这就是条件判断!
每个部分的详细解释
1. if 关键字
If 或 IF2. () 条件括号
( 和右括号 )3. 条件 - 需要判断的事情
score >= 60(分数够不够?)、hasKey(有没有钥匙?)、level > 5(等级够高吗?)4. {} 代码块
true 就执行,结果是 false 就不执行{ 和右大括号 }记住:任何条件最终的结果只有两种可能 - true(是)或 false(不是)。程序根据这个结果决定是否执行大括号里的代码。
逐步分析这个示例:
if - 关键字,表示"如果"( - 开始条件score >= passScore - 条件:75 >= 60,结果为 true) - 结束条件{ - 开始代码块console.log("及格了"); - 要执行的代码(因为条件为 true)} - 结束代码块记住一个重要原则:只要最终能得出"是"或"不是"(true/false)的答案,任何写法都可以放在 if 的条件里。以下是一些常见的条件形式:
布尔变量可以直接用在条件中,但有一些重要的比较方式需要了解:
基本的布尔变量使用
简化布尔比较
1. === true 比较可以简化
简化原理:通过看两种方式在 isVictory 为 true/false 情况下是否一样:
| isVictory 的值 | isVictory === true | isVictory | 等价吗? |
|---|---|---|---|
| true | true | true | ✅ 等价 |
| false | false | false | ✅ 等价 |
从表格可以看出:isVictory 完全等价于 isVictory === true
这就是为什么可以用直接使用变量名来简化 === true 比较的原因。
记住:这些只是例子!任何能够最终产生 true 或 false 结果的表达式都可以放在 if 的条件中。
当你需要在条件为真时做某些事,在条件为假时做另一些事时,就需要用到 if-else 语句。
if - 关键字:"如果"else - 关键字:"否则"true → 执行 if 后面的代码false → 执行 else 后面的代码if-else 是一个完整的结构,必须成对出现else 不能单独使用,必须与 if 配合让我们用交通灯的例子来展示 if-else 的用法:
游戏中的应用:
{}的条件语句语法规则
如果 if 语句后面只有一行代码,可以去掉大括号 {}:
常见问题
这种写法很容易产生意想不到的结果:
问题分析 从上面的例子可以看到:
console.log("有钥匙") 属于 if 语句console.log("可以开门了") 不受条件控制,总是会执行重要提醒:
虽然两个 console.log 语句在视觉上是对齐的,但从代码逻辑的角度来看,第二行代码并不属于 if 语句!
没有大括号时,if 语句只控制紧跟在后面的第一行代码,后续的代码都是独立执行的,不管它们在视觉上看起来多么"对齐"。
这就是为什么我们建议总是使用大括号,这样可以避免视觉误导。
我们的建议
为了避免所有这些问题,我们课程中总是使用大括号 {},无论是一行还是多行代码。这样既安全又清晰!
当你写代码时,可能会遇到一些错误。这是完全正常的!
处理错误的方法
if (条件) { 代码 } 的结构记住:每个程序员都是在不断修正错误中成长的!
通过前面的学习和实践,你现在真正体验了编程语法的概念!
刚才你遇到的错误(缺少括号、括号不匹配等)都是违反编程语法规则的错误。
编程语法就像中文语法的规则,但更加严格:
人类语法的特点:
编程语法的特点:
if (score >= 60) 不能写成 if score >= 60代码的语法错误就是你写的代码违反了编程语言的语法规则。
具体来说:
if score >= 60(缺少必要的括号)简单来说,语法错误就是你的代码写得"不对",计算机看不懂,需要你用正确的格式重新写。
通过学习 if 语句,你已经掌握了编程语言最基本的语法规则!这种精确的思维方式将帮助你学习其他编程概念。
在开始编写条件语句之前,请注意我们的编辑器有一些方便的功能:
自动补全配对符号:
{、[、( 或 " 时}、]、) 或 "自动缩进功能:
if (条件) { 并按回车换行时} 时,编辑器会自动对齐到对应的 { 位置还记得我们在变量基础课程中学到的吗?空格和空行不会影响程序的执行,这个规则在条件语句中完全适用!
让我们来看各种写法的例子:
重要原则:
虽然空格和空行不影响程序执行,但我们建议:
if 语句:当条件为 true 时执行代码
if (条件) { 要执行的代码 }if-else 语句:根据条件的真假执行不同代码
if (条件) { 条件为true时执行 } else { 条件为false时执行 }最佳实践:
if (hasKey)if (isVictory === false) 或者 if (isVictory !== true)掌握条件判断的基本语法和逻辑是编程的重要基础。现在你已经掌握了程序做决定的基本技能!在下一课中,我们将学习逻辑运算符来创建更复杂的条件判断。