逻辑运算符用于布尔操作,包括逻辑与(&&)、或(||)、非(!)。&&要求两边均为true结果才为true,具有短路特性,左侧为false时右侧不执行;||只要一边为true结果即为true,左侧为true时短路;!用于取反,优先级最高。注意区分&与&&,避免副作用操作,混合使用时加括号确保优先级正确。

在Java中,逻辑运算符用于操作布尔类型的变量或表达式,常用于条件判断和流程控制。掌握逻辑与、或、非的基本用法,是编写正确分支和循环结构的基础。
逻辑与(&&):只有都为真结果才为真
逻辑与使用 && 表示,当且仅当左右两个操作数都为 true 时,整个表达式的结果才是 true。
常见于需要同时满足多个条件的场景:
- if (age >= 18 && hasLicense) 判断是否成年且有驾照
- if (username != null && !username.isEmpty()) 防止空指针并检查内容
注意:&& 具有短路特性。如果左侧为 false,右侧将不会执行,这可以用来优化性能或避免异常。
立即学习“Java免费学习笔记(深入)”;
逻辑或(||):有一个为真结果就为真
逻辑或使用 || 表示,只要有一个操作数为 true,结果就是 true。
适用于满足任一条件即可执行的情况:
- if (score >= 90 || bonus > 20) 达到高分或有额外加分就通过
- if (input.equals("yes") || input.equals("y")) 支持多种输入格式
同样具有短路特性:左侧为 true 时,右侧不再计算。
逻辑非(!):取反操作
逻辑非使用 ! 表示,作用是将布尔值反转。
常用于否定条件判断:
- if (!isLocked) 表示“如果没有被锁定”
- while (!queue.isEmpty()) 当队列不为空时继续循环
! 的优先级较高,通常建议对复杂表达式加括号以增强可读性,比如 !(a > 5 && b
注意事项与常见错误
初学者容易忽略以下几点:
- 不要混淆位运算符 & 和逻辑运算符 &&,虽然都能用于布尔运算,但 & 不具备短路功能
- 避免在逻辑表达式中写有副作用的操作,如 (b++ > 0 && b
- 多个逻辑运算混合时注意优先级:! 优先级最高,其次是 &&,最后是 ||,合理使用括号更安全
基本上就这些。掌握 &&、|| 和 ! 的基本用法,能让你的条件判断更清晰准确。多写几个 if-else 练习组合条件,很快就能熟练运用了。










