练java运算符要聚焦三类高频出错场景:类型转换陷阱、优先级混淆、短路与空安全;重点掌握int/int结果为整数、隐式转型规则、复合赋值自动窄化、取模符号随被除数、==与equals区别、短路逻辑顺序及自动拆箱npe风险。

练Java运算符,不是背符号表,而是盯住三类高频出错场景:类型转换陷阱、优先级混淆、短路与空安全。练对了,面试官一问你就答得稳。
重点练算术运算里的“隐式转型”和除法规则
面试最爱考 int/int 结果为什么是整数、7/2 输出 3 而不是 3.5。别只记结论,要能现场推导:
- 写两行代码对比:
System.out.println(7/2);和System.out.println((double)7/2);,解释为什么第二行输出 3.5 - 遇到
short s = 1; s = s + 1;报错,要立刻反应:加法触发 int 提升,结果是 int,不能直接赋给 short;而s += 1;是复合赋值,编译器自动做了窄化转换 - 记住取模符号规则:
-7 % 3得 -1(符号随被除数),7 % -3得 1(符号仍随被除数)
死磕比较和逻辑运算的“坑点组合拳”
面试常把 ==、equals、自动拆箱、短路逻辑打包出题,比如:
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
-
Integer a = 127, b = 127; System.out.println(a == b);→ true(缓存范围内);换成 128 就是 false -
String s1 = new String("abc"); String s2 = "abc"; s1 == s2→ false,必须用equals() -
String str = null; if (str != null && str.length() > 0)安全;但if (str.length() > 0 && str != null)会 NPE —— 短路顺序不能颠倒
动手跑三组对比代码,比看十遍文档管用
光读不行,必须敲出来运行:
- 写个循环,分别用
i++和++i累加,观察返回值差异(不是性能,是语义) - 构造一个三目表达式:
Integer x = null; int y = true ? x : -1;运行看是否抛 NPE —— 自动拆箱在这里翻车 - 混用位运算和算术:
2 + 3 和 <code>(2 + 3) 对比输出,确认
面试前默写一张“优先级速查卡片”
不用背全部,只记最易错的五档(从高到低):
- 括号
() - 自增自减、正负号:
++--+-(单目) - 算术:
*/%高于+- - 移位:
<code>>>>>>(注意:它比加减还低!) - 关系、逻辑、赋值:其中
&&高于||,=最低
遇到复杂表达式,先画括号再算,不猜、不蒙、不跳步。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










