32. Java 控制流语句 If-Then 语句
If-Then 语句 🛑
if-then 语句是最基本的控制流语句之一,常用于在特定条件为真时执行某段代码。如果条件计算结果为 true,则执行 then 语句,否则跳过。它是实现条件判断和分支执行的核心工具。
示例:应用制动器的 if-then 语句 🚲
假设我们要控制自行车的制动器,只有在自行车处于运动状态时才允许减速。以下是 applyBrakes() 方法的一种实现方式:
void applyBrakes() {
// the "if" clause: bicycle must be moving
if (isMoving) {
// the "then" clause: decrease current speed
currentSpeed--;
}
}
🔍 解释:
if子句:检查isMoving变量,只有在自行车正在移动时(即isMoving为true),才会进入then子句执行减速操作。then子句:通过currentSpeed--降低自行车的速度。
如果 isMoving 为 false(即自行车没有在运动),则跳过 then 子句,直接跳到 if-then 语句的末尾。
简化的版本(省略大括号) ✂️
在 if-then 语句中,如果 then 子句仅包含一个语句,则大括号是可选的。以下是省略大括号后的代码版本:
void applyBrakes() {
// same as above, but without braces
if (isMoving)
currentSpeed--;
}
在这个简化的版本中,我们省略了 {},只保留了一个语句。虽然这样可以减少代码量,但这种方式会使得代码变得更加脆弱。举个例子,如果后来我们需要在 if 语句中执行多个操作,忘记加上大括号可能导致逻辑错误。
省略大括号的潜在问题 ⚠️
假设我们后来想在 if 语句中增加第二个操作:
void applyBrakes() {
if (isMoving)
currentSpeed--;
applyBrakeLights(); // 新的操作
}
在这里,applyBrakeLights() 将会在 if 语句外部执行,因为缺少大括号,导致只有 currentSpeed-- 被正确包含在 if 语句中,而 applyBrakeLights() 无论 isMoving 是否为 true 都会执行。
这种潜在的错误在编译时无法被捕获,结果可能是程序不按预期工作。
总结
if-then语句用来在特定条件为true时执行某些操作。- 大括号
{}在if语句中的使用可以增强代码的可读性和可维护性,避免逻辑错误。 - 如果
if子句中只包含一个语句,可以省略大括号,但这种做法可能导致错误,特别是在后期修改代码时。
尽管省略大括号可以让代码显得简洁,但在多数情况下,使用大括号可以提高代码的清晰度和可靠性!🛠️