黑马程序员技术交流社区
标题:
李哥的强制转换
[打印本页]
作者:
程有愿
时间:
2012-8-24 09:36
标题:
李哥的强制转换
今天跟李哥讨论强制转换 他问我 short i=1;i+=65535;System.out.println(i)打印的是多少?
我先用eclipse算出了65535的二进制:Integer.toBinaryString(65535);结果为
1111 1111 1111 1111 (这个是short的最大值了 16字位)
+ 0000 0000 0000 0001 (进行加法运算)
----------------------------------------------------
1 0000 0000 0000 0000
注意这里因为+=在编译时会自动进行强转动作,吧最后的结果转换成short类型的
而short只有16字位,所以这里在取运算结果时只保留后16位既
0000 0000 0000 0000
所以结果答案为 0;比较有意思跟大家也分享下!!嘿嘿。
作者:
寇龙飞
时间:
2012-8-24 12:45
有道理,学习了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2