今天突然想起以前有过的一个疑惑,找了很多文章都是黏贴复制,糊里糊涂的,今天填一下坑。
先摆出结果:
int k = 1;
int before = ++k;
System.out.println("before: "+before + " K: "+k);
k = 1;
int after = k++;
System.out.println("after: "+after + " K: "+k);
运行结果:
before: 2 K: 2
after: 1 K: 2
结论:++k会将 (k+1)的结果赋值,k++会将 k 的结果赋值,同时k自增1
分析:
before = ++k 相当于 :
k = k+1;
before = k;
after = k++ 相当于:
after = k;
k = k+1;
两者的区别是赋值在前还是自增在前