在数学中,规定被除数不能为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
今天在统计数据中遇到这个问题,因此特地列出来