众所周知在java中如果除数为0,则会抛出
但是如果除数为0.0呢?代码如下:
结果:NaN(Not a Number)
原因如下:
double类型的0.0 !=
0,这点一定要注意了,也就是说0.0不是0,可能是0.00000000000000001。所以不会出现异常。
而0.0具体是多少,谁也不知道,是由虚拟机运行时在某一个误差范围内随即产生的。所以每次运行时候你得到的i的结果都不一样。
0.0/0.0 这个在浮点数中称 NaN,这数有个特点就是 NaN != NaN 。
同理,如果用2/0.0,由于0.0是非常小的一个小数,作为除数时,相当于用2乘以一个非常大的数,故结果为Infinity。