【Java 新手必看】逻辑运算符:从原理到实战,附可运行代码案例
逻辑运算符是 Java 实现 “条件判断、逻辑组合” 的核心工具也是 if/else、while 等流程控制语句的基础。新手常混淆 “短路与 / 或” 和 “非短路” 的区别这篇笔记结合可直接运行的代码案例从概念、用法到避坑指南帮你彻底吃透 Java 逻辑运算符。一、什么是 Java 逻辑运算符逻辑运算符用于对布尔类型true/false的值进行逻辑运算最终结果仍为布尔类型。核心作用是把多个简单条件组合成复杂条件比如 “成绩≥60 且 出勤≥80%” 才算及格。Java 逻辑运算符分为三类与运算非短路与、短路与或运算|非短路或、||短路或非运算!取反异或运算^异或补充知识点二、核心逻辑运算符详解附可运行案例1. 先记核心规则表运算符名称运算规则短路特性短路与两边都为 true结果才为 true有一个 false 则结果 false左边为 false 时右边不执行非短路与同短路与但无论左边结果如何右边都会执行无短路或有一个为 true结果就为 true两边都 false 才为 false左边为 true 时右边不执行非短路或同短路或但无论左边结果如何右边都会执行无!逻辑非true→falsefalse→true-^逻辑异或两边结果不同为 true相同为 false-2. 基础用法可直接运行// 文件名LogicOperatorBasic.java类名与文件名一致 public class LogicOperatorBasic { public static void main(String[] args) { // 初始化测试变量 boolean a true; boolean b false; int num 10; // 1. 短路与 System.out.println(a b (a b)); // falseb为false // 左边为false右边的num不会执行 System.out.println(false (num)5 (false (num)5)); // false System.out.println(短路与后num num); // 10num未执行 // 重置num num 10; // 2. 非短路与 System.out.println(a b (a b)); // false // 左边为false右边的num仍会执行 System.out.println(false (num)5 (false (num)5)); // false System.out.println(非短路与后num num); // 11num执行了 // 重置num num 10; // 3. 短路或 || System.out.println(a || b (a || b)); // truea为true // 左边为true右边的num不会执行 System.out.println(true || (num)5 (true || (num)5)); // true System.out.println(短路或后num num); // 10num未执行 // 重置num num 10; // 4. 非短路或 | System.out.println(a | b (a | b)); // true // 左边为true右边的num仍会执行 System.out.println(true | (num)5 (true | (num)5)); // true System.out.println(非短路或后num num); // 11num执行了 // 5. 逻辑非 ! System.out.println(!a (!a)); // false System.out.println(!b (!b)); // true // 6. 逻辑异或 ^ System.out.println(a ^ b (a ^ b)); // true两边不同 System.out.println(a ^ a (a ^ a)); // false两边相同 } }3. 运行结果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 ^ afalse4. 核心结论短路 vs 非短路短路运算符、||优先判断左边若左边能确定最终结果右边代码不执行性能更高日常开发首选非短路运算符、|无论左边结果如何右边代码一定会执行仅在需要强制执行右边逻辑时使用如同时判断条件 修改变量。三、实际开发场景案例逻辑运算符最常用在流程控制中以下是新手高频使用场景1. 多条件判断登录验证// 文件名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(123456) isActive) { System.out.println(登录成功); // 输出登录成功 } else { System.out.println(登录失败); } // 短路或满足任一条件则提示 int score 55; if (score 60 || score 100) { System.out.println(成绩异常请检查); // 输出成绩异常请检查 } } }2. 取反判断权限控制// 文件名PermissionDemo.java public class PermissionDemo { public static void main(String[] args) { boolean isAdmin false; // 是否是管理员 // 逻辑非不是管理员则提示无权限 if (!isAdmin) { System.out.println(非管理员无操作权限); // 输出非管理员无操作权限 } } }四、优先级与结合性1. 优先级排序从高到低!非 与 ^异或 |或 短路与 ||短路或2. 示例验证可运行// 文件名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) result2); // true本例结果相同仅演示 // 结合性逻辑运算符都是“左结合”从左到右算 boolean result3 (false true) || true; boolean result4 false (true || true); System.out.println((false true) || true result3); // true System.out.println(false (true || true) result4); // false } }五、新手常见错误汇总1. 混淆和、|和||新手常误用非短路运算符导致逻辑错误比如int num 0; // 本意num0时才执行num但用了导致num始终执行 if (num 0 (num) 0) { System.out.println(num0); } System.out.println(num); // 输出1不符合预期修正用短路与左边num0为 false 时右边num不执行if (num 0 (num) 0) { ... } System.out.println(num); // 输出0符合预期2. 条件顺序导致的逻辑错误短路运算符的执行顺序会影响结果比如String str null; // 错误先判断str.equals(Java)str为null会报空指针异常 if (str.equals(Java) str ! null) { ... } // 正确先判断str!null为false时短路避免空指针 if (str ! null str.equals(Java)) { ... }3. 逻辑非的范围错误新手容易漏加括号导致取反范围错误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取反后false4. 用逻辑运算符比较非布尔值逻辑运算符只能操作布尔值以下写法编译报错int a 5; int b 3; // System.out.println(a b); // 错误int不能转boolean总结逻辑运算符仅操作布尔值结果也为布尔值核心分为与/、或||/|、非!三类短路运算符、||性能更高左边能确定结果时右边不执行是日常开发首选新手避坑重点区分短路 / 非短路、注意条件顺序避免空指针、用括号明确优先级。所有案例均可直接复制运行建议新手亲手敲一遍重点体会短路运算符的 “短路特性”—— 这是 Java 面试和开发中的高频考点也是避免逻辑 bug 的关键

相关新闻

SpringBoot+Vue 工作流程管理系统管理平台源码【适合毕设/课设/学习】Java+MySQL

SpringBoot+Vue 工作流程管理系统管理平台源码【适合毕设/课设/学习】Java+MySQL

摘要 随着信息技术的快速发展,工作流程管理系统在企业管理和学术研究中扮演着越来越重要的角色。传统的手工管理方式效率低下,难以满足现代企业对流程自动化、数据可视化和协同办公的需求。因此,开发一套高效、灵活的工作流程管理系统成为企业…

2026/7/3 16:49:31 阅读更多 →
Java SpringBoot+Vue3+MyBatis 电商平台系统源码|前后端分离+MySQL数据库

Java SpringBoot+Vue3+MyBatis 电商平台系统源码|前后端分离+MySQL数据库

摘要 随着互联网技术的快速发展,电子商务平台已成为现代商业活动中不可或缺的一部分。消费者对便捷、高效的在线购物体验需求日益增长,推动了电商平台的多样化和功能完善。传统电商系统在性能、扩展性和用户体验方面存在诸多不足,亟需通过现…

2026/7/3 2:34:02 阅读更多 →
测试OK的Android 8.0开机启动方案汇总

测试OK的Android 8.0开机启动方案汇总

测试OK的Android 8.0开机启动方案汇总 在Android 8.0系统中实现自定义脚本的开机自动执行,是嵌入式开发、设备定制和自动化运维中的常见需求。但很多开发者会发现:脚本明明写对了,手动执行也没问题,一到开机就静默失败——背后往…

2026/7/3 8:53:51 阅读更多 →

最新新闻

OpenMontage:用AI编程助手自动化视频制作,降低技术内容创作门槛

OpenMontage:用AI编程助手自动化视频制作,降低技术内容创作门槛

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 这次我们来看一个在 GitHub 上获得超过 12K 星的开源项目:OpenMontage。它不是一个独立的 AI 视频生成器,而…

2026/7/4 1:11:11 阅读更多 →
AMD Ryzen处理器深度调试完全指南:5分钟掌握SMU Debug Tool核心功能

AMD Ryzen处理器深度调试完全指南:5分钟掌握SMU Debug Tool核心功能

AMD Ryzen处理器深度调试完全指南:5分钟掌握SMU Debug Tool核心功能 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址…

2026/7/4 1:07:10 阅读更多 →
DeepSeek API实战与知识蒸馏技术解析:从争议到金融问答机器人构建

DeepSeek API实战与知识蒸馏技术解析:从争议到金融问答机器人构建

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 如果你最近关注 AI 领域,可能会注意到一个有趣的现象:一边是 DeepSeek 的 API 因其兼容性和性价比&#xff…

2026/7/4 1:07:10 阅读更多 →
Agentic AI:从概念到实战,企业级智能体落地五大硬核思考

Agentic AI:从概念到实战,企业级智能体落地五大硬核思考

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 最近在和企业技术负责人交流时,发现一个普遍现象:大家已经不再满足于让ChatGPT写写周报、生成点代码片段&am…

2026/7/4 1:05:10 阅读更多 →
AI智能体构建指南:从核心架构到工程实践

AI智能体构建指南:从核心架构到工程实践

1. 从零构建AI智能体的完整指南:基于Google Agent白皮书的深度解析作为一名长期深耕AI应用开发的技术从业者,我最近花了整整5小时研读Google最新发布的《初创公司技术指南:AI Agents》白皮书。这份60页的技术文档虽然被官方宣传为"实践导…

2026/7/4 1:03:10 阅读更多 →
MACD背离交易策略:原理、参数优化与实战应用

MACD背离交易策略:原理、参数优化与实战应用

1. MACD背离的本质与市场逻辑MACD(Moving Average Convergence Divergence)作为技术分析领域的经典指标,其背离现象本质上是价格运动与动能指标之间的非线性关系体现。当价格创出新高而MACD柱状图未能同步创新高(顶背离&#xff0…

2026/7/4 1:03:10 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻