用途+陷阱+面试高频点:算术运算符重在%和整数除法;自增/自减区分前缀后缀;逻辑短路防空指针;==与.equals()勿混淆;三元运算符需类型兼容;优先级靠括号明确,真题驱动动手验证。

直接按“用途+陷阱+面试高频点”三块来读,不按教材顺序硬啃。
先抓最常考的五类运算符
面试官80%的问题集中在这些上,其他可快速扫过:
-
算术运算符:重点看
%(取模)和整数除法/——比如7 / 2结果是3不是3.5;-7 % 3结果是-1(Java遵循被除数符号) -
自增/自减:前缀
++a和后缀a++在表达式中行为不同。例如int a = 1; int b = a++ + ++a;,结果b = 4(先用1,再自增到2;再自增到3后参与加法) -
逻辑短路:
&&和||会跳过右侧判断。比如obj != null && obj.toString().length() > 0,左边为false时右边根本不会执行,避免空指针 -
关系与相等:
==对基本类型比值,对引用类型比地址;字符串必须用.equals(),不能用== -
三元运算符:注意类型兼容性。例如
int x = true ? 1 : "hello";编译报错——两个分支类型不一致,无法推断公共类型
优先级别死记,靠括号保命
面试写代码时,没人指望你背全15级优先级。实际做法是:
- 涉及
&、^、|位运算或混合&&/&时,一律加括号明确意图 - 看到
a = b + c * d这种,心里默念“乘除优先于加减”,但写的时候直接写成a = b + (c * d)更稳妥 - 记住一个铁律:
!最高,++/--次之,然后是算术、移位、关系、逻辑、赋值(从右往左结合)
真题驱动,边练边查
别通读文档,打开IDE直接跑这几行典型代码:
立即学习“Java免费学习笔记(深入)”;
System.out.println(1 == 1.0); // true(自动提升)System.out.println(null == null); // true(null可以和null比较)Boolean flag = false; System.out.println(flag || true && false); // true(&&优先于||)int i = 1; System.out.println(i += i++); // 输出2(先赋值i=i+i=2,再i自增为2,但赋值已结束)
跑不出来就查JLS(Java语言规范)对应章节,比看十篇博客还准。
不复杂但容易忽略细节,动手试三遍比读五遍强。


















