Java中if语句用于根据布尔表达式真假控制执行路径,基本形式为if(表达式){},须用==而非=,支持if-else二选一、if-else if-else多分支,注意条件顺序、提前返回、合并条件、提取变量及避免魔法值。

Java 中的 if 语句用于根据布尔表达式的真假来控制程序执行路径,是实现条件逻辑最基础、最常用的结构。
基本 if 语句写法
最简单的形式只判断一个条件,满足则执行一段代码:
语法:
if (布尔表达式) {
// 表达式为 true 时执行的语句
}
说明:括号内必须是返回 boolean 类型(true 或 false)的表达式,不能是数字、对象或空值。常见错误如写成 if (x = 5)(赋值而非比较),应改为 if (x == 5)。
立即学习“Java免费学习笔记(深入)”;
if-else 组合处理二选一
当需要在条件成立和不成立两种情况下分别执行不同逻辑时,用 else 补充分支:
语法:
if (age >= 18) {
System.out.println("已成年");
} else {
System.out.println("未满十八岁");
}
建议:
- 避免嵌套过深,单个
if-else块内语句尽量简洁 - 逻辑相反的判断优先用
else而非重复写if (x - 字符串判空推荐用
str != null && !str.isEmpty(),别直接调用str.equals("")防 NPE
多条件判断:if-else if-else 链
适用于多个互斥选项,按顺序逐个判断,遇到第一个为 true 的条件即执行对应分支,其余跳过:
if (score >= 90) {
grade = 'A';
} else if (score >= 80) {
grade = 'B';
} else if (score >= 70) {
grade = 'C';
} else {
grade = 'F';
}
注意点:
- 条件顺序很重要,范围大的条件(如
score >= 0)不要放在前面,否则后续分支永远不会执行 - 末尾的
else不是必须的,但加上可兜底处理意外情况,增强健壮性 - 超过 3–4 个分支时,考虑是否改用
switch(JDK 14+ 支持字符串和模式匹配)或策略模式
if 语句中常见的实用技巧
让条件逻辑更清晰、安全、易维护:
-
提前返回:在方法开头用
if检查非法参数并直接return,减少缩进层级 -
合并条件:用
&&(短路与)、||(短路或)组合多个判断,例如if (obj != null && obj.isValid()) -
提取变量:复杂表达式建议先赋给语义明确的布尔变量,如
boolean isOverdue = now.isAfter(dueDate); if (isOverdue) { ... } -
避免魔法值:把硬编码数字/字符串换成常量或枚举,比如用
Role.ADMIN替代"ADMIN"


















