本人编程,学到自增不理解为何k会是6
括号优先级最高
k++的时候,虽然k会增加,但之后会被+1替换掉,所以就是k=5+1。
k++ 确实是加了1 ,使用k 时并没有使用最新的值(6),而是使用了旧值(5)
如果改成 k = (++k) + 1 就是 7
1、不要被括号迷惑了,其实k = k++ + 1;
2、k = k++ 的结果还是k,因为是后++,是先算值k=5
3、k=5+1=6
赋值的优先级最低,拆解下来就是:
int k =5;
int kb = k+1;//在内存中生成了新的对象
k++;//后置++
k=kb//最后再赋值
int k=5:
K=(K++)+1
System.out.printin(k)
自增的形式有两种,K++和++K;
K++是先计算后自增;而++K是先自增再计算;
所以是K = (5)+1
看下编译出来的class就一清二楚了。