首页 > 代码库 > i=i+1与i+=1的区别及效率(Java)
i=i+1与i+=1的区别及效率(Java)
原博客地址
在做个java优化的PPT时,看到了i=i+1与i+=1的区别,在这之前还真没想到那么细。
1.x=x+1,x+=1及x++的效率哪个最高?为什么?
x=x+1最低,因为它的执行如下。
(1)读取右x的地址;
(2)x+1;
(3)读取左x的地址;
(4)将右值传给左边的x(编译器并不认为左右x的地址相同)。
x+=1其次,它的执行如下。
(1)读取x的地址;
(2)x+1;
(3)将得到的值传给x(因为x的地址已经读出)。
x++最高,它的执行如下。
(1)读取右x的地址;
(2)x自增1.
2.x=x+1,和 x+=1; 在什么情况下不成立 而且 x=x+1 是错误的; (类型隐式转换)
short x=1;
x+=1;
x=x+1; //因为 x是 short 类型 .当它+1 会自动转变成int 当是等于又 是 short 类型..所以会报错;
3.x=x+1,和 x+=1; 在什么情况下不成立 而且 x+=1 是错误的;
Object x=”abc”;
String y=”def”;
x+=y;
x=x+y
i=i+1与i+=1的区别及效率(Java)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。