java运算符的核心在于理解执行顺序、副作用和类型转换逻辑。重点掌握自增/自减的表达式值与变量值分离、&&/||的短路特性、%符号跟随被除数等高频坑点,并通过动手验证深化确定性认知。

Java 运算符不是死记硬背的符号表,而是理解执行顺序、副作用和类型转换逻辑的关键入口。练得好,面试中遇到 i = i++ 或 a && b++ 这类题就能一眼看出结果;练得浮于表面,容易在细节上栽跟头。
聚焦高频坑点:自增/自减运算符
面试最爱考 ++i 和 i++ 的区别,核心不在“先加后加”,而在“表达式的值”和“变量的新值”是否同步:
-
后置自增(
i++):整个表达式返回 旧值,之后变量才加 1;比如int a = 5; int b = a++;→b == 5,a == 6 -
前置自增(
++i):变量先加 1,再把 新值 作为表达式结果;比如int a = 5; int b = ++a;→b == 6,a == 6 -
经典陷阱题:
int i = 0; i = i++;结果是0—— 因为赋值发生在自增“返回旧值”之后,JVM 实际执行顺序是:取 i 当前值(0)→ 赋给左边 i → i 再自增(变成 1)→ 但赋值已覆盖,最终 i 还是 0
吃透短路逻辑:&& 和 || 的实际行为
不只是“真假判断”,关键是“右边表达式会不会执行”。这直接影响副作用(如方法调用、变量修改):
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
-
flag && doSomething():如果flag是false,doSomething()根本不调用 -
flag || doSomething():如果flag是true,doSomething()被跳过 - 对比非短路版
&和|:不管左边结果如何,右边一定执行。适合位运算或必须两边都求值的场景 - 面试常考:
boolean a = false, b = true; System.out.println(a++ == 1 && b++ == 2);→ 先判a++ == 1(false),短路,b++不执行,b仍为 true
拿捏取余和整数除法的边界行为
看似简单,但负数和类型混合时极易出错:
-
5 / 2结果是2(截断,不是四舍五入);5.0 / 2或5 / 2.0才得2.5 -
%的符号永远跟随被除数(左操作数):-7 % 3 == -1,7 % -3 == 1,-7 % -3 == -1 - 面试题:
100 % 3.0→ 结果是1.0(因为右边是 double,自动提升,结果也是 double)
动手写几行关键验证代码
光看不行,必须亲手运行、观察变量变化:
- 写个循环,打印
i++和++i在赋值语句中的不同输出 - 构造带副作用的布尔表达式,比如
System.out.print("A"); false && System.out.print("B");,看控制台输出什么 - 用不同正负数组合测试
%,记录结果并对照规则验证 - 故意写
int x = 0; x = x++;,然后用 debug 模式单步,看清字节码执行步骤
不复杂但容易忽略——真正掌握运算符,靠的是对每种运算“在什么时机产生什么效果”的确定性认知,而不是记住结论。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










