Java运算符考查重点在于理解行为差异、优先级和执行逻辑。需掌握自增/自减前缀后缀区别、复合赋值隐式类型转换、短路与位逻辑执行差异,以及通过手算表达式强化优先级与结合性认知。

Java 运算符不是背概念就能过的关,关键在理解行为差异、优先级顺序和真实执行逻辑。面试官常拿几行短代码考你,表面简单,一不留神就掉坑里。练对方向比刷题量更重要。
盯紧自增/自减的前缀与后缀区别
这是高频失分点。单独写 i++ 或 ++i 效果一样,但一旦参与表达式,结果天差地别。
-
后缀(i++):先用当前值参与运算,再加1。例如
int a = 3; int b = a++;→ b=3,a=4 -
前缀(++i):先加1,再用新值参与运算。例如
int a = 3; int b = ++a;→ a=4,b=4 - 混合使用时务必画执行步骤:比如
int res = (++a) + (b--) + (a++) + (--b);,逐项拆解赋值和自增/自减时机
吃透复合赋值的隐式类型转换
看似简写的 +=、-= 等,其实暗含强制类型转换,不注意会编译报错。
-
short s = 1; s += 1;✅ 合法 —— 编译器自动处理为s = (short)(s + 1) -
short s = 1; s = s + 1;❌ 报错 ——s + 1结果是int,不能直接赋给short - 同理适用于
byte、char;但要注意溢出风险,复合赋值不检查范围
掌握短路逻辑与位逻辑的执行差异
面试最爱问“if (methodA() && methodB()) 中,methodB() 一定执行吗?”——答案是否定的,这就是短路特性。
立即学习“Java免费学习笔记(深入)”;
-
&&和||:左边已能确定整体结果时,右边**跳过执行**(如false && xxx不调用 xxx) -
&和|:无论左边如何,**两边都执行**(常用于位运算,也用于需强制触发副作用的场景) - 对比练习:
boolean x = false & sideEffect();vsboolean y = false && sideEffect();,后者不会调用sideEffect()
动手推演优先级与结合性的真实表达式
别死记15级优先表。用典型表达式练手,边写边标序号:
- 例如:
10 + 20 - 30 * 4 / 5 % 6先算*、/、%(同级左到右)→30*4=120→120/5=24→24%6=0再算+、-(左到右)→10+20=30→30-0=30 - 字符串拼接
+优先级低于算术运算但高于赋值,注意结合方向:1 + 2 + "3"→"33",而1 + "2" + 3→"123" - 建议每天手写3个含混合运算符的表达式,不运行,纯笔算,再用IDE验证


















