有趣的java代码 java优雅代码( 十 )


一段有意思的java代码请大家解释~首先0x7FFFFFFF就是Java里面整形变量的最大值了,你可以看看Integer.MAX_VALUE,"0x7FFFFFFF
*
2.0"是 , Java会把结果当做double型 , 因为double型的数值范围比int大,所以得到的是数学上正确的结果,然后强制转换我int就是Integer.MAX_VALUE了 , 第一个表达式为true;第二个里面"0x7FFFFFFF
*
2"会被认为是int型,因为0x7FFFFFFF和2都是合法的int,所以就是发生数值的溢出(int)(0x7FFFFFFF
*
2)就被算成-2了,你如果把第二个的结果显式制定为double型,得到的结果也是true:
double
d
=
0x7FFFFFFFL
*
2;//加L指定为long型
System.out.println((int)(0x7FFFFFFF
*
2.0)
==
(int)
d);
第三个因为数值比较?。允莟rue 。
关于有趣的java代码和java优雅代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读