x=x+1,x+=1,x++的区别
x=x+1,执行顺序如下:
- 读取右x的地址
- x+1
- 读取左x的地址
- 将右表达式的值传递给左x
【注】编译器不会认为左右x的地址相同
【注】该表达式不会强制转换,且效率最低
1 short x=86; 2 x=x+1;//编译器会出错,因为右边相加后是int型
x+=1,执行顺序如下:
- 读取x的地址
- x+1
- 将得到的值传给x(因为x的值已经读出)
【注】会强制转换,效率其次
1 short x=86; 2 x+=1;//编译正确
x++,执行顺序如下:
- 读取x的地址
- x自增1
【注】x++为递增运算,其效率最高
作者:祁俊辉
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。