好神奇啊~~~

Double.MAX_VALUE - 1.0Double.MAX_VALUE一样大



神奇之处:我对Double.MAX_VALUE - 1.0Double.MAX_VALUE进行比较,发现它俩的是相等的,按常理来说,应该不相等。
原因:double类型的数进行运算,首先需要对阶,double类型的最大值是1.7976931348623157 x \(10^{308}\),运算前数字1.0会先变成0.00000...[此处省略308个0]1 * \(10^{308}\) 再进行运算,但是double类型只能精确到小数点后16位,0.00000...[此处省略308个0]1 * \(10^{308}\) 后面的1精确不到,就相当于0,所以Double.MAX_VALUE - 1.0Double.MAX_VALUE的值是相同的。

关于三目运算符


神奇之处:不使用三目运算的结果会报错,有人说:左右两边必须是表达式,所以我测试了一下在:左右两边调用方法,没报错。
原因:必须使用三目运算符返回的结果。

posted @ 2021-09-06 09:18  小布丁超级帅  阅读(71)  评论(0)    收藏  举报