java中i=i+1 i+=1 和 i++之效率怎么理解?

2014-08-31 06:30:01 阅读( 5 )

2572人 收藏本页

标签:Java面试题

(1) i = i + 1 它的效率最低,因为其执行过程如下:
1-1 读取右x的地址;
1-2 x + 1;
1-3 读取左x的地址;
1-4 将右值传给左边的x

(2) i += 1; 他的执行过程是:
2-1 读取右x的地址;
2-2 x + 1;
2-3 将得到的值传给x

(3) i++; 他的执行过程是:
3-1 读取右x的地址
3-2 x自增1;

总结:
++i 最快
i++ 次之,比++i多用一个临时变量
i += 1 第三,需要取地址
i = i + 1 最后,并多用一个临时变量
理论上是这样的 不知道对不对 有待验证…..

来自IT公司面试手册

下一篇:在A B C D E F 六人中随机抽取3人中奖,要求中奖人不能重复

上一篇:java.lang.outofmemoryerror:permgen space异常如何解决?

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题