Java中自增(++)和自减(--)运算符分前缀与后缀:前缀先运算后取值,后缀先取值后运算;仅适用于可修改变量,不可用于常量或表达式;在复杂表达式中易引发副作用和歧义,应避免同一变量多次修改。

Java中的自增(++)和自减(--)运算符用于将变量的值加1或减1,但它们的位置(前缀 vs 后缀)会直接影响表达式的计算结果,这是初学者最容易出错的地方。
前缀++/--:先运算,再取值
当++或--放在变量前面时,变量立即完成加1或减1操作,整个表达式的结果就是变化后的新值。
-
int a = 5; int b = ++a;→ a先变成6,b得到6 -
int x = 10; int y = --x;→ x先变成9,y得到9
后缀++/--:先取值,再运算
当++或--放在变量后面时,表达式先使用变量的当前值,之后变量才加1或减1。
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
-
int a = 5; int b = a++;→ b得到5,然后a才变成6 -
int x = 10; int y = x--;→ y得到10,然后x才变成9
只对变量有效,不能用于常量或表达式
自增自减运算符要求操作数必须是可修改的变量(左值),以下写法都是非法的:
-
5++;❌ 数字字面量不可变 -
(a + b)++;❌ 表达式结果不是变量 -
++(arr[i]);✅ 可以,因为arr[i]是变量 -
final int c = 3; c++;❌ final变量不可修改
在复杂表达式中要格外小心优先级和副作用
自增/自减带有副作用(改变原变量),和其它运算混合时容易引发歧义。例如:
-
int i = 2; int j = i++ + ++i;→ 执行顺序依赖JVM实现,实际结果为6(但不推荐这样写) - 更安全的做法是拆开:先单独自增,再参与运算
- 避免在同一个表达式中对同一变量多次修改,否则代码可读性差且易出错
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南








