一段有意思的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优雅代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 主播直播间说话技巧教程,直播都怎么说话
- js获取值中文乱码,js里面怎么转换中文乱码
- html5腾讯qq登录界面,腾讯登录页面
- 怎么从显卡编号知道性能,怎么看显卡编码
- go语言是运维要学的吗 go语言写运维脚本
- 如何接触新媒体行业,如何对待新媒体工作
- js原地调用,js调用dex
- Python的无返回函数 python函数没有return语句返回值
- java代码匹配,java匹配关键字