衆所周知在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。