网上订餐|基于ssm+ vue网上订餐系统(源码+数据库+文档)

核心内容摘要

DoL-Lyra整合包一站式部署与个性化定制指南
非线性参数的精英学习灰狼优化算法(Matlab)

Qwen3-TTS-Tokenizer-12Hz:高效音频编解码的利器

逻辑运算符是 Java 实现 “条件判断、逻辑组合” 的核心工具也是 if/else、while 等流程控制语句的基础。

新手常混淆 “短路与 / 或” 和 “非短路” 的区别这篇笔记结合可直接运行的代码案例从概念、用法到避坑指南帮你彻底吃透 Java 逻辑运算符。

什么是 Java 逻辑运算符逻辑运算符用于对布尔类型true/false的值进行逻辑运算最终结果仍为布尔类型。

核心作用是把多个简单条件组合成复杂条件比如 “成绩≥60 且 出勤≥80%” 才算及格。

Java 逻辑运算符分为三类与运算非短路与、短路与或运算|非短路或、||短路或非运算!取反异或运算^异或补充知识点

核心逻辑运算符详解附可运行案例

先记核心规则表运算符名称运算规则短路特性短路与两边都为 true结果才为 true有一个 false 则结果 false左边为 false 时右边不执行非短路与同短路与但无论左边结果如何右边都会执行无短路或有一个为 true结果就为 true两边都 false 才为 false左边为 true 时右边不执行非短路或同短路或但无论左边结果如何右边都会执行无!逻辑非true→falsefalse→true-^逻辑异或两边结果不同为 true相同为 false-

基础用法可直接运行// 文件名LogicOperatorBasic.java类名与文件名一致 public class LogicOperatorBasic { public static void main(String[] args) { // 初始化测试变量 boolean a true; boolean b false; int num 10; //

短路与 System.out.println(a b (a b)); // falseb为false // 左边为false右边的num不会执行 System.out.println(false (num)5 (false (num)

); // false System.out.println(短路与后num num); // 10num未执行 // 重置num num 10; //

非短路与 System.out.println(a b (a b)); // false // 左边为false右边的num仍会执行 System.out.println(false (num)5 (false (num)

); // false System.out.println(非短路与后num num); // 11num执行了 // 重置num num 10; //

短路或 || System.out.println(a || b (a || b)); // truea为true // 左边为true右边的num不会执行 System.out.println(true || (num)5 (true || (num)

); // true System.out.println(短路或后num num); // 10num未执行 // 重置num num 10; //

非短路或 | System.out.println(a | b (a | b)); // true // 左边为true右边的num仍会执行 System.out.println(true | (num)5 (true | (num)

); // true System.out.println(非短路或后num num); // 11num执行了 //

逻辑非 ! System.out.println(!a (!a)); // false System.out.println(!b (!b)); // true //

逻辑异或 ^ System.out.println(a ^ b (a ^ b)); // true两边不同 System.out.println(a ^ a (a ^ a)); // false两边相同 } }

运行结果plaintexta bfalse false (num)5false 短路与后num10 a bfalse false (num)5false 非短路与后num11 a || btrue true || (num)5true 短路或后num10 a | btrue true | (num)5true 非短路或后num11 !afalse !btrue a ^ btrue a ^ afalse

核心结论短路 vs 非短路短路运算符、||优先判断左边若左边能确定最终结果右边代码不执行性能更高日常开发首选非短路运算符、|无论左边结果如何右边代码一定会执行仅在需要强制执行右边逻辑时使用如同时判断条件 修改变量。

实际开发场景案例逻辑运算符最常用在流程控制中以下是新手高频使用场景

多条件判断登录验证// 文件名LoginDemo.java public class LoginDemo { public static void main(String[] args) { // 模拟用户输入 String username admin; String password 123456; boolean isActive true; // 账号是否激活 // 短路与账号正确 密码正确 账号激活才登录成功 if (username.equals(admin) password.equals(

isActive) { System.out.println(登录成功); // 输出登录成功 } else { System.out.println(登录失败); } // 短路或满足任一条件则提示 int score 55; if (score 60 || score

{ System.out.println(成绩异常请检查); // 输出成绩异常请检查 } } }

取反判断权限控制// 文件名PermissionDemo.java public class PermissionDemo { public static void main(String[] args) { boolean isAdmin false; // 是否是管理员 // 逻辑非不是管理员则提示无权限 if (!isAdmin) { System.out.println(非管理员无操作权限); // 输出非管理员无操作权限 } } }

优先级与结合性

优先级排序从高到低!非 与 ^异或 |或 短路与 ||短路或

示例验证可运行// 文件名PriorityDemo.java public class PriorityDemo { public static void main(String[] args) { boolean x true; boolean y false; boolean z true; // 优先级! || // 步骤1!y → true // 步骤2x true → true // 步骤3true || z → true boolean result x !y || z; System.out.println(x !y || z result); // true // 用括号改变优先级 boolean result2 x (!y || z); System.out.println(x (!y || z) result

; // true本例结果相同仅演示 // 结合性逻辑运算符都是“左结合”从左到右算 boolean result3 (false true) || true; boolean result4 false (true || true); System.out.println((false true) || true result

; // true System.out.println(false (true || true) result

; // false } }

新手常见错误汇总

混淆和、|和||新手常误用非短路运算符导致逻辑错误比如int num 0; // 本意num0时才执行num但用了导致num始终执行 if (num 0 (num)

{ System.out.println(num

; } System.out.println(num); // 输出1不符合预期修正用短路与左边num0为 false 时右边num不执行if (num 0 (num)

{ ... } System.out.println(num); // 输出0符合预期

条件顺序导致的逻辑错误短路运算符的执行顺序会影响结果比如String str null; // 错误先判断str.equals(Java)str为null会报空指针异常 if (str.equals(Java) str ! null) { ... } // 正确先判断str!null为false时短路避免空指针 if (str ! null str.equals(Java)) { ... }

逻辑非的范围错误新手容易漏加括号导致取反范围错误boolean a true; boolean b false; // 错误!a || b → (false) || false → false本意是!(a||b) System.out.println(!a || b); // 正确先算a||b再取反 System.out.println(!(a || b)); // falsea||b为true取反后false

用逻辑运算符比较非布尔值逻辑运算符只能操作布尔值以下写法编译报错int a 5; int b 3; // System.out.println(a b); // 错误int不能转boolean

总结逻辑运算符仅操作布尔值结果也为布尔值核心分为与/、或||/|、非!三类短路运算符、||性能更高左边能确定结果时右边不执行是日常开发首选新手避坑重点区分短路 / 非短路、注意条件顺序避免空指针、用括号明确优先级。

所有案例均可直接复制运行建议新手亲手敲一遍重点体会短路运算符的 “短路特性”—— 这是 Java 面试和开发中的高频考点也是避免逻辑 bug 的关键

www.17c-www.17c最新版N.2.47.47-2285安卓网应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123