您的位置:首页 > 其它

关于 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


.了解其中的含义
结果以及解释

关于这篇文章主要作用:

①分享给遇到同样问题的小伙伴,如果有帮到最好。
②相当于自己的学习笔记,怕自己以后再次遗忘,所以记录方便以后查询和复习。
③全是自己的目前的理解和看法,有的地方肯定描述和分析有问题,也可能会很片面,哪里如果不对还希望在评论里指明,以免误导了其他人。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: