public class Main {
public static void main(String[] args) {
int a = 10;
int b = a++;
System.out.println("b = " + b);
a = 10;
b = ++a;
System.out.println("b = " + b);
}
}
输出结果:
b = 10
b = 11
总结就是:
int b = a++; 等价于 int b = a; a = a + 1;
int b = ++a; 等价于 a = a +1; int b = a;
或者说:
++操作符在变量a前面就先执行 a = a +1;
++操作符在变量a后面就后执行 a = a +1;
注:从上面也可以看到,++操作其实是多步操作,不是原子性操作,所以它不是线程安全的