Java 编程中的运算符探寻
Java 编程中的运算符探寻Java 运算符是表达式计算的核心掌握它们能让你写出高效、清晰的代码避免优先级陷阱。本文从基础到进阶带你全面探寻 Java 运算符基于 Java 21/23 最新特性2026 年仍适用。1. 运算符分类总览Java 运算符大致分为以下几类类别运算符示例作用说明算术运算符 - * / %加减乘除取余一元运算符 - -- ! ~正负、自增自减、逻辑非、按位非赋值运算符 - * / % ^ 关系比较运算符 ! instanceof比较大小、相等、类型检查逻辑运算符位运算符^ ~ 条件三元运算符? :条件表达式其他. [] () - ::成员访问、数组、方法引用等注意Java不支持运算符重载C 支持。对 String 是特殊处理拼接不是重载。2. 运算符优先级表核心强烈建议收藏优先级从高到低数字越小优先级越高同一优先级按结合性左结合或右结合计算。括号()永远最高。优先级运算符结合性说明1() [] .方法调用、数组、成员访问左→右最高2 --后缀左→右后自增自减3 -- - ! ~前缀右←左前自增自减、正负、逻辑非、按位非4* / %左→右乘除取余5 -左→右加减或字符串拼接6 左→右移位运算7 instanceof左→右关系比较、类型判断8 !左→右相等性判断9左→右按位与也可用于布尔10^左→右按位异或11左→右12左→右逻辑与短路1314? :右←左三元条件15 - * / % ^ 右←左记忆技巧单目 算术 移位 关系 相等 位 逻辑 三元 赋值逻辑运算符优先级! ||位运算优先级高于逻辑运算符 经典陷阱示例intx5;inty10;booleanresultx3y10;// y 会执行吗短路后不执行System.out.println(y);// 输出 10短路3. 各类型运算符详解 代码示例3.1 算术运算符注意整数除法会截断小数5/2 2%对负数结果符号与被除数一致inta10,b3;System.out.println(a/b);// 3System.out.println(a%b);// 1System.out.println(a b);// 字符串拼接 10 33.2 自增自减 --前缀i先增后用后缀i先用后增inti5;System.out.println(i);// 6System.out.println(i);// 6输出后 i73.3 关系与instanceofinstanceof运行时类型检查Java 14 支持模式匹配ObjectobjHello;if(objinstanceofStrings){// Java 14 模式匹配System.out.println(s.toUpperCase());}3.4 逻辑运算符短路特性重要左边 false 则右边不执行||左边 true 则右边不执行booleanflagfalse;intcount0;if(flagcount0){}// count 不执行System.out.println(count);// 03.5 位运算符面试高频常用于权限控制、状态标记、算法优化。inta0b1010;// 10二进制intb0b1100;// 12System.out.println(ab);// 8 (1000)System.out.println(a|b);// 14 (1110)System.out.println(a^b);// 6 (0110)System.out.println(~a);// -11按位取反// 移位System.out.println(82);// 32左移乘4System.out.println(82);// 2System.out.println(-82);// 无符号右移高位补0实用技巧判断奇偶n 1 1交换两数不用临时变量a ^ b; b ^ a; a ^ b;3.6 三元运算符? :intmaxab?a:b;Stringstatusscore60?及格:不及格;3.7 赋值运算符复合赋值会自动进行类型转换byte b 1; b 1;合法4. 优先级与结合性常见坑点// 坑1位运算与逻辑混用booleanres5342;// 是位运算这里对 boolean 也有效但无短路// 推荐用 // 坑2赋值优先级最低intx,y,z;xyz5;// 右结合从右到左赋值建议复杂表达式一定要加括号提高可读性。5. Java 特殊运算符方法引用::Java 8list.forEach(System.out::println)Lambda-(x, y) - x y点.、数组[]、强制类型转换(Type)6. 最佳实践与注意事项始终用括号明确意图避免依赖优先级记忆。短路运算符 ||用于性能优化和防止空指针obj ! null obj.method()。位运算适合高性能场景如游戏、加密、权限。避免在生产代码中使用复杂位运算除非有清晰注释。Java 21记录类Record、模式匹配等让instanceof更强大。调试技巧用 IDE如 IntelliJ查看表达式求值顺序。总结口诀单目算术移位关关系相等位在先逻辑三元赋值后括号永远最优先掌握运算符后你的 Java 表达式会更优雅面试中“运算符优先级”题也能轻松应对。想继续深入吗回复以下任意内容我立刻带你探索“位运算 20 道实战题 权限控制示例”“运算符优先级 15 道经典面试题带解析”“Java 8 新特性中的运算符Lambda、::、模式匹配”“与 C/Python 运算符对比”“手写一个位运算实现权限管理系统小项目”“表达式求值完整练习”或者直接说“给我运算符综合练习题 10 道”。有疑问随时问我们把 Java 基础运算符彻底玩透
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2415694.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!