Java细节03——x = x + 1,x += 1,x++的效率问题

x = x + 1,x += 1,x++三个表达式哪个效率更高,这是很多小伙伴疑惑的问题。要解决这个问题,我们就需要分析这三个表达式的执行过程。

x = x + 1的执行过程如下:
(1)读取右x的地址。
(2)读取地址中x的值。
(3)在寄存器中将x的值加1。
(4)读取左x的地址。(计算机是不知道左x就是右x的)
(5)将计算结果传给左边的x。

x+=1的执行过程如下:
(1)读取x的地址。
(2)读取地址中x的值。
(3)在寄存器中将x的值加1。
(4)将计算结果传给x。(这个表达式没有左右x之分)

x++的执行过程如下:
(1)读取x的地址。
(2)读取地址中x的值。
(2)x自增1。

通过对这三个表达式执行过程的描述,大家应该执行效率这么排序了吧。

你可能感兴趣的:(JavaSE)