java条件表达式用&&、||、!组合布尔逻辑:&&要求全真才真且短路,||一真即真且短路,!取反需注意优先级和括号,复杂逻辑必须加括号明确意图。

Java 中流程控制的条件表达式,常用 if、while、for 等语句,其括号内的判断部分就是条件表达式。逻辑运算符(&&、||、!)用来把多个布尔子表达式组合成更复杂的判断逻辑。
用 &&(逻辑与)表示“同时满足”
只有所有子条件都为 true,整个表达式才为 true。常用于多重限制,比如验证用户登录:
if (username != null && !username.trim().isEmpty() && password.length() >= 6)- 注意短路特性:左边为
false时,右边不会执行,可避免空指针(如username != null && username.length() > 0安全)
用 ||(逻辑或)表示“满足其一即可”
只要有一个子条件为 true,整个表达式就为 true。适合多选一场景,比如检查文件扩展名:
if (fileName.endsWith(".jpg") || fileName.endsWith(".png") || fileName.endsWith(".gif"))- 同样有短路:左边为
true,右边不再计算
用 !(逻辑非)反转布尔值
对单个布尔表达式取反,常用于否定条件或简化判断:
if (!(age 等价于 <code>if (age >= 18),但更强调“非未成年人”语义- 配合括号使用,避免歧义:
!a && b是(!a) && b,不是!(a && b) - 嵌套取反要谨慎:
!!isValid虽合法,但通常没必要
混合使用时注意优先级和括号
逻辑运算符优先级是:! > && > ||。复杂表达式务必加括号明确意图:
- 想表达“权限开启且(是管理员或已认证)”,写成:
enabled && (isAdmin || isVerified) - 不加括号写成
enabled && isAdmin || isVerified,实际等价于(enabled && isAdmin) || isVerified,逻辑可能出错 - 多个
||或&&连用时,虽按从左到右结合,但加括号更清晰易读
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











