Java中if-else通过布尔表达式真假执行对应分支,基本结构为if、可选else if、可选else;条件须为boolean类型,注意避免分号误用、对象比较用equals()、嵌套时用大括号明确作用域。

Java 中用 if-else 实现条件分支,核心是根据布尔表达式的真假来决定执行哪一段代码。只要理解“条件为真走 if 分支,否则走 else 分支”,就能写出清晰、可靠的逻辑。
基本语法结构要写对
最简形式是单个 if,但完整分支通常包含 if、else if(可选,支持多个条件)、else(可选,兜底):
-
if (条件) { ... }—— 条件为true时执行花括号内语句 -
else if (条件) { ... }—— 前面所有条件都不成立且本条件为true时执行 -
else { ... }—— 所有前面的条件都不满足时执行(不带条件)
注意:每个条件必须是返回 boolean 类型的表达式,比如 x > 5、str != null、flag == true(推荐简写为 flag)。
常见使用场景和写法示例
比如判断一个整数是正数、负数还是零:
立即学习“Java免费学习笔记(深入)”;
int num = -3;
if (num > 0) {
System.out.println("正数");
} else if (num < 0) {
System.out.println("负数");
} else {
System.out.println("零");
}
再比如检查字符串是否为空或只含空白字符:
String str = " ";
if (str == null || str.trim().isEmpty()) {
System.out.println("字符串无效");
} else {
System.out.println("字符串有效:" + str);
}
注意:多个条件连用时,优先级和短路特性很重要——&& 遇到 false 就停止计算,|| 遇到 true 就停止,这能避免空指针异常。
容易出错的细节要留意
- 别在
if后面加分号:if (x > 0); { ... }是错误的,分号会提前结束语句,导致花括号内容无条件执行 - 比较对象用
.equals(),不用==(除非确认是比较字符串常量或已重写equals且了解引用语义) - 嵌套
if-else时,用大括号明确作用域,避免else绑定错分支(Java 按最近未配对的if匹配) - 单条语句可省略花括号,但不建议——易引发维护问题,尤其后续加代码时容易出错
if-else 和三元运算符怎么选
当分支只做简单赋值或返回值时,三元运算符更简洁:
String result = (score >= 60) ? "及格" : "不及格";
但一旦逻辑变复杂(比如要调用方法、多行操作、含副作用),就必须用 if-else。强行用三元会让代码难读、难调试。


















