java基础注意细节问题_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java基础注意细节问题

java基础注意细节问题

 2018/5/29 15:11:47  行_天下  程序员俱乐部  我要评论(0)
  • 摘要:1.i+=1;i=i+1;i++的区别与联系:区别:(1)从执行效率上来看:i++的效率最高;i+1=的效率次之;i=i+1效率最低;(2)从执行的方式上来看:i=i+1:读取右边i的地址;然后进行i+1操作;接着获取左边i的的地址;最后将i+1的值赋值给i(编译器并不认为"="两边的值等)i+=1:读取i的地址;然后进行i+1操作,最后将i+1的地址赋值给ii++:读取i的地址;然后进行i+1自增操作;(3)i=i+1与i+=1的值相等吗?在什么样的情况i=i+1错误
  • 标签:细节 Java 问题 细节问题

1.i+=1;i=i+1;i++的区别与联系:

区别:

(1)从执行效率上来看:i++的效率最高;i+1=的效率次之;i=i+1效率最低;

(2)从执行的方式上来看:

i=i+1:读取右边i的地址;然后进行i+1操作;接着获取左边i的的地址;最后将i+1的值赋值给i(编译器并不认为"="两边的值等)

i+=1:读取i的地址;然后进行i+1操作,最后将i+1的地址赋值给i

i++:读取i的地址;然后进行i+1自增操作;

(3)i=i+1与i+=1的值相等吗?在什么样的情况i=i+1错误?在什么样的情况下i+=1错误?

答案:不一定; short i=1;i=i+1是错误的,在进行i=i+1操作时数据类型自动的进行了的提升操作;所以结果会是int类型,再将值赋给类型为short的i时,编译器会提示需要强制转换数据类型;,?

?

上一篇: 1.接口默认方法 下一篇: 没有下一篇了!
发表评论
用户名: 匿名