关于 i+++i 到底是 i+(++i)还是 (i++)+i
2019-02-19 20:34
155 查看
关于 i+++i 到底是 i+(++i)还是 (i++)+i
摘要:
今天去面试遇到一些题,关于各种i++或者是 ++i的,一直对这个都没有理解透彻,今天专门发了一些时间来把它搞明白,或许是自以为的搞明白,然后就记录一下,不然以后都忘了。
先说一下我测试的结果:
i+++i是 (i++)+i 不是i+(++i)
测试代码如下
结果分析:
a.由反编译的结果分析是i++ +i 而不是i+ ++i
b.由测试的输出结果为3分析,如果是i+(++j)结果应该是4,因此不成立。(我最开始没用j,也是用的i,结果所有的结果全是一样,所以根本就不明白底层到底是哪一种方式,如下:)
所以就需要看底层了就需要反编译了。
怎样反编译class字节码文件?
在字节码文件class的目录cmd在控制台中执行 javap -verbose xxx.class
.了解其中的含义
结果以及解释
关于这篇文章主要作用:
①分享给遇到同样问题的小伙伴,如果有帮到最好。
②相当于自己的学习笔记,怕自己以后再次遗忘,所以记录方便以后查询和复习。
③全是自己的目前的理解和看法,有的地方肯定描述和分析有问题,也可能会很片面,哪里如果不对还希望在评论里指明,以免误导了其他人。
相关文章推荐
- 关于Hibernate读取select count(*)的返回值到底是Long还是Integer
- 关于Integer的比较大小问题即到底是用“==”还是“equals”来比较大小
- 关于.Net与J2EE的比较,到底用微软平台还是Java平台的问题
- 关于char强制转换成int到底是用0还是用1补位的猜想与检验
- 关于到底用框架,还是纯JAVA的讨论
- 关于到底用框架,还是纯JAVA的讨论
- mybatis2-关于mybatis在实际开发中到底是选用xml还是注解的解释
- 关于到底用框架,还是纯JAVA的讨论
- 关于JAVA到底是解释型,还是翻译型语言
- 关于.Net与J2EE的比较,到底用微软平台还是Java平台的问题
- 关于MVC到底是设计模式还是框架又或者是架构模式的新看法
- [导入]Drip, Transfusion, Perfusion还是Infusion?关于一个词的翻译
- 关于release后retainCount还是1的问题
- 做技术到底是应该俗还是雅
- 吉他:到底是用手指弹的快还是拨片弹的快?
- 前途到底是网络工程还是程序设计
- 关于引用,还是按值. 开发时会遇到..注意
- 游戏服务器:到底使用UDP还是TCP
- 关于java方法参数是值传递还是地址传递。
- 基于接口的静态路由 管理距离到底是0还是1?