当前位置: 首页 > news >正文

在 Java 中!(逻辑非)和 ||(逻辑或)的优先级关系

🚀 优先级规则:

  1. !(逻辑非)的优先级高于 ||(逻辑或)​
    这意味着在表达式中:

    • ! 会先计算
    • || 后计算
  2. ​运算符优先级从高到低排序​​:
    ! > 算术运算符 > 比较运算符 > && > ||


⚙️ 示例解析:

boolean a = false;
boolean b = true;// 情况 1: !a || b 
// 等价于:(!a) || b → true || true → true
System.out.println(!a || b);  // 输出 true// 情况 2: !(a || b)
// 等价于:先算 a || b (false || true = true),再取非 → !true → false
System.out.println(!(a || b)); // 输出 false

🛡️ 强制改变优先级的方法:

使用括号 () 明确指定计算顺序:

// 需要先计算 || 再取非
boolean result = !(condition1 || condition2);// 需要先计算 ! 再执行 ||
boolean result = !condition1 || condition2;

✅ 完整运算符优先级表(相关部分):

优先级运算符类别结合性
最高! ~ ++ --一元运算符右向左
* / %算术运算符左向右
+ -算术运算符左向右
< <= > >= instanceof比较运算符左向右
== !=相等运算符左向右
&&逻辑与左向右
最低<mark>``</mark>
         | **逻辑或**   | 左向右   |

注:&& 优先级高于 ||(例如 a && b || c 等价于 (a && b) || c


🧠 记忆口诀:

​"叹号先行,或最后行"​
! 最先计算,|| 最后计算)


💡 实践建议:

在复杂逻辑表达式中,​​始终使用括号 () 明确运算顺序​​,即使你熟悉优先级规则。这样做能:

  1. 避免歧义
  2. 提高代码可读性
  3. 防止优先级记忆错误导致的 bug
// 清晰写法(优于依赖优先级记忆)
if ((!isValid) || (count > MAX_VALUE)) {// 执行逻辑
}

相关文章:

  • Java 并发编程系列(上篇):多线程深入解析
  • C++与Python编程体验的多维对比:从语法哲学到工程实践
  • MATLAB-电偶极子所产出的电磁场仿真
  • 【HarmonyOS5】UIAbility组件生命周期详解:从创建到销毁的全景解析
  • Linux -- 进程信号
  • LVDS的几个关键电压概念
  • libiec61850 mms协议异步模式
  • Android实现点击Notification通知栏,跳转指定activity页面
  • 轮廓 填充空洞 删除孤立
  • 记录下three.js学习过程中不理解问题①
  • Springboot项目中minio的使用场景、使用过程(仅供参考)
  • python调用其它程序 os.system os.subprocess
  • 深入浅出Docker
  • 7.2.2_折半查找
  • SQL字符串截取函数全解析:LEFT、RIGHT、SUBSTRING 实战指南
  • 一个简单的德劳内三角剖分实现
  • 湖北理元理律师事务所:债务咨询中的心理支持技术应用
  • IP地址(互联网中设备的唯一逻辑地址标识)
  • ps蒙版介绍
  • EMD算法
  • qq登录网站授权怎么做/网站维护是做什么的
  • 一个网站专门做摩托车/网络营销的优缺点
  • 浏览器网页打不开怎么解决/新塘网站seo优化
  • 网站建设禁止性规定/竞价系统
  • 新乐网站建设/公司网站怎么建立
  • 长白山网站学做管理平台/友博国际个人中心登录