if-else是Java中处理“二选一”逻辑的双分支结构:条件为true执行if块,为false执行else块,二者必居其一;语法为if(布尔表达式){}else{},布尔表达式只能是true或false,else后不可加条件,且须紧跟if块右括号。

Java 中双分支结构 if-else 是处理“二选一”逻辑最直接、最常用的方式:条件成立走一条路,不成立就走另一条,两者必居其一,不会跳过也不会同时执行。
核心写法与执行规则
语法固定为:
if (布尔表达式) { … } else { … }
其中布尔表达式只能是 true 或 false(比如 score >= 60、num % 2 == 0),不能是数字、字符串或 null。
- 程序先计算括号内表达式的值
- 结果为 true → 执行 if 后的大括号内代码,跳过 else 部分
- 结果为 false → 跳过 if 块,执行 else 后的大括号内代码
- else 必须紧跟在 if 块的右大括号之后,中间不能插入其他语句
典型应用场景举例
适合所有天然互斥、非此即彼的判断,比如:
- 成绩是否及格:
if (score >= 60) { System.out.println("及格"); } else { System.out.println("不及格"); } - 数字奇偶性:
if (n % 2 == 0) { System.out.println("偶数"); } else { System.out.println("奇数"); } - 用户登录状态:
if (isLoggedIn) { showDashboard(); } else { redirectToLogin(); }
容易出错的细节提醒
看似简单,但新手常在这里栽跟头:
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
- 别在 else 后面加条件——
else if是多分支,else本身没有括号也没有表达式,它只表示“以上都不满足时” - 即使 if 或 else 块里只有一行代码,也建议始终用大括号包裹,避免后续加代码时逻辑错位
- 注意浮点数比较慎用 ==,应改用差值小于精度阈值的方式,否则可能因精度丢失导致预期外的 false 分支被触发
和单 if 的关键区别
单 if 是“满足才做,不满足就不管”,而 if-else 是“必须二选一”。比如判断年龄是否成年:
立即学习“Java免费学习笔记(深入)”;
- 只用 if:
if (age >= 18) System.out.println("可投票");→ 小于 18 什么也不输出 - 用 if-else:
if (age >= 18) System.out.println("可投票"); else System.out.println("未达年龄");→ 总有明确反馈

















