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

今天在统计数据中遇到这个问题,因此特地列出来

相关文章
相关标签/搜索