if语句根据布尔表达式真假决定是否执行代码块,括号内须为boolean表达式,推荐始终使用花括号;字符串比较应使用.equals()而非==,避免空指针和引用比较错误。

Java 中的 if 语句用于根据布尔表达式的真假来决定是否执行某段代码,是程序控制流程的基础。它只在条件为 true 时执行对应语句块,为 false 则跳过。
基本语法结构
最简形式如下:
if (布尔表达式) {
// 表达式为 true 时执行的语句
}
注意要点:
- 括号
()内必须是返回boolean类型的表达式,如a > 5、flag == true,不能写成if (a = 5)(这是赋值,会编译报错) - 大括号
{}可省略——但仅限于 紧跟其后的一条语句;多条语句必须加花括号,否则只有第一行受 if 控制 - 推荐始终使用花括号,避免逻辑错误。例如:
if (score >= 60)
System.out.println("及格");
System.out.println("继续努力"); // 这行**不受 if 控制**,总会执行
单条件判断的典型用法
适用于只需区分“满足条件”和“不满足条件”两种情况的场景,比如数值比较、状态检查、空值判断等。
你接手一个需求时,是不是经常这样:"改一个小字段 → 结果把不相关的代码也改了"、"需求说得很模糊 → 做着做着发现跑偏了"、"数据库加个字段 → 上线才发现漏了数据兼容"、"做了个新功能 → 一个月后自己都忘了当时怎么设计的"、"写到一半被中断 → 再回来不知道从哪继续";这个 Skill 就是专门解决这些问题的。 它会自动探测你的项目环境(JDK、Spring Boot、ORM、数据库、前端框架),记在
常见示例:
- 判断成绩是否及格:
if (score >= 60) { System.out.println("通过考试"); } - 检查对象是否为空:
if (str != null) { System.out.println(str.length()); } - 判断布尔标志是否启用:
if (debugMode) { System.out.println("调试日志开启"); }
注意:字符串内容判断不要直接用 ==,应使用 .equals(),例如:if ("YES".equals(userInput))(更安全,可防空指针)。
容易出错的细节
初学者常踩的坑:
-
把 == 误用于字符串内容比较:如
if (name == "admin")比较的是引用,不是值 -
忘记处理 else 分支:单 if 不覆盖所有路径,后续逻辑可能意外执行;需要完整分支时应搭配
else -
分号误写在 if 后面:如
if (x > 0); { System.out.println("正数"); }—— 此时花括号内语句**总是执行**,因为 if 已被空语句结束
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










