掌握 Java 中 if-else 语句的基本语法与执行逻辑
理解 if-else 如何实现二选一的程序控制流
学会使用嵌套 if 语句处理多层条件判断
能够避免常见的语法错误(如孤立的 else)
Java 中的 if-else 语句是一种双向条件分支结构。它根据布尔条件的真假,在两个代码块中选择一个执行:
条件为 true → 执行 if 块
条件为 false → 执行 else 块
这使得程序能够根据运行时数据做出不同响应。

if (condition) {
// 条件为 true 时执行
} else {
// 条件为 false 时执行
}注意:
else必须紧跟在if块之后,且不能单独存在。
// Java Program to demonstrate if-else statement
public class IfElse {
public static void main(String[] args) {
int n = 10;
if (n > 5) {
System.out.println("The number is greater than 5.");
} else {
System.out.println("The number is 5 or less.");
}
}
}The number is greater than 5.程序启动,变量 n 被赋值为 10。
判断条件 n > 5 → 10 > 5 为 true。
执行 if 块中的输出语句。
跳过 else 块。
程序结束。
程序进入 if-else 结构。
计算条件表达式的布尔值。
若条件为 true:
执行 if 块中的所有语句。
若条件为 false:
执行 else 块中的所有语句。
无论哪种情况,执行完后都会继续运行 if-else 之后的代码。
[示意图:if-else 流程图]
→ 评估条件 → 是 → 执行 if 块 → 继续后续代码
↓ 否
执行 else 块 → 继续后续代码
当需要多级条件判断时,可以在一个 if 块内部再写另一个 if 语句,称为嵌套 if。
if (condition1) {
// 外层 if 块
if (condition2) {
// 内层 if 块
}
}public class NestedIf {
public static void main(String[] args) {
int age = 25;
double weight = 65.5;
if (age >= 18) {
if (weight >= 50.0) {
System.out.println("You are eligible to donate blood.");
} else {
System.out.println("You must weigh at least 50 kilograms to donate blood.");
}
} else {
System.out.println("You must be at least 18 years old to donate blood.");
}
}
}You are eligible to donate blood.首先检查年龄是否 ≥18。
如果是,再检查体重是否 ≥50 kg。
只有两项都满足,才允许献血。
✅ 这种结构清晰地表达了“先满足 A,再判断 B”的业务规则。
else 不能独立存在:每个 else 必须对应一个前面的 if。
花括号建议始终使用:即使只有一行代码,也用 {} 包裹,防止逻辑错误。
避免过深嵌套:超过三层嵌套会降低可读性,可考虑使用 else if 或提前返回(early return)优化。
如果将示例中的 age = 16,weight = 55.0,程序会输出什么?为什么?
以下代码是否合法?若合法,输出是什么?
int x = 3;
if (x > 0)
if (x % 2 == 0)
System.out.println("Even");
else
System.out.println("Odd");
(提示:注意 else 的归属)
在实际开发中,如何避免因省略花括号而导致的“悬空 else”(dangling else)问题?