博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
i=i+1与i+=1的区别及效率
阅读量:4951 次
发布时间:2019-06-12

本文共 518 字,大约阅读时间需要 1 分钟。

 

在做个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

 
 

转载于:https://www.cnblogs.com/wfdespace/p/8511587.html

你可能感兴趣的文章
01迷宫
查看>>
PE格式第八讲,TLS表(线程局部存储)
查看>>
IDM-无法打开网络接口(或抓取不到待下载文件大小)
查看>>
Oracle 自定义结构(Record)
查看>>
requests库的基本使用
查看>>
搜索------prime path
查看>>
201521123069 《Java程序设计》 第3周学习总结
查看>>
LUA 拾遗(函数)
查看>>
niosII SDRAM ,FLASH (学习特权)
查看>>
Deep Learning(深度学习)整理,RNN,CNN,BP
查看>>
UVa 10391 - Compound Words
查看>>
JavaScript 获取某个字符的 Unicode 码
查看>>
无线路由协议Mflood详解(转)
查看>>
最短路径之Bellman-Ford(可以解决负边)
查看>>
wincc7.4安装授权 全(文件分享)
查看>>
作为JavaScript开发人员,这些必备的VS Code插件你都用过吗?
查看>>
省选爆零记
查看>>
1. 微博大学数学答疑系列(1)
查看>>
如何让windows版Safari支持H5 audio/video?
查看>>
Android开源项目源码下载(不断更新中)
查看>>