在Java中,++a、a++、--a 和 a-- 是自增和自减运算符,用于对变量的值进行加1或减1操作。它们的主要区别在于运算的时机,这在表达式中尤其重要。

++a (前置自增)
含义:先将变量 a 的值加1,然后使用增加后的值参与表达式的运算。
步骤:
a = a + 1 (先自增)
使用新的 a 值进行后续计算。
示例:

int a = 5;
int b = ++a; // 先将a加1,a变成6,然后将a的值(6)赋给b
System.out.println("a = " + a); // 输出: a = 6
System.out.println("b = " + b); // 输出: b = 6

a++ (后置自增)
含义:先使用变量 a 当前的值参与表达式的运算,然后再将 a 的值加1。
步骤:
使用 a 的当前值进行计算。
a = a + 1 (后自增)
示例:

int a = 5;
int b = a++; // 先将a的当前值(5)赋给b,然后a再加1
System.out.println("a = " + a); // 输出: a = 6
System.out.println("b = " + b); // 输出: b = 5

--a (前置自减)
含义:先将变量 a 的值减1,然后使用减少后的值参与表达式的运算。
步骤:
a = a - 1 (先自减)
使用新的 a 值进行后续计算。
示例:

int a = 5;
int b = --a; // 先将a减1,a变成4,然后将a的值(4)赋给b
System.out.println("a = " + a); // 输出: a = 4
System.out.println("b = " + b); // 输出: b = 4

注意++写在前面和后面计算结果是不同的,++n表示先加1再引用n,n++表示先引用n再加1。不建议把++运算混入到常规运算中,容易自己把自己搞懵了。

a-- (后置自减)
含义:先使用变量 a 当前的值参与表达式的运算,然后再将 a 的值减1。
步骤:
使用 a 的当前值进行计算。
a = a - 1 (后自减)
示例:

int a = 5;
int b = a--; // 先将a的当前值(5)赋给b,然后a再减1
System.out.println("a = " + a); // 输出: a = 4
System.out.println("b = " + b); // 输出: b = 5

总结
img1

关键点

当它们单独成句时(例如 a++; 或 ++a;),前置和后置的效果是完全相同的,都只是将变量的值加1或减1。区别只在作为表达式的一部分时才显现。
理解“使用”指的是该变量的值在赋值、打印或其他计算中被取用的时机。

记住这个口诀可以帮助你区分:


前缀 (++a, --a):先改变,后使用。
后缀 (a++, a--):先使用,后改变。

最后修改:2025 年 09 月 16 日
如果觉得我的文章对你有用,请随意赞赏