java中除數爲0時出現的異常狀況

在數學中,規定被除數不能爲0java

那麼在Java程序中一旦出現除數爲0時,會出現什麼狀況呢:數學

對於除數a和被除數b (b=0),it

(1)若是兩者均爲int型(long也是int型),結果會拋出異常:java.lang.ArithmeticException: / by zeroio

(2)若是其中有一個爲double或者float型,結果則是Infinityfloat

另外,對於Double和Float的NaN/Infinity等是否相等呢:程序

Float.NaN == Double.NaN false統計

Float.NEGATIVE_INFINITY == Double.NEGATIVE_INFINITY true數據

Float.POSITIVE_INFINITY == Double.POSITIVE_INFINITY true異常

因此對於除數有可能爲0時須要對除法結果作個判斷:

一、是否爲NaN    例如:double toltal_ff =0.00; Double.isNaN(toltal_ff) 返回false

二、是否爲無窮大  Double.isInfinite(toltal_ff) 是無窮大返回true

今天在統計數據中遇到這個問題,因此特地列出來

相關文章
相關標籤/搜索