java中除数为0时出现的异常情况

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在数学中,规定被除数不能为0

那么在Java程序中一旦出现除数为0时,会出现什么情况呢:

对于除数a和被除数b (b=0),

(1)如果二者均为int型(long也是int型),结果会抛出异常:java.lang.ArithmeticException: / by zero

(2)如果其中有一个为double或者float型,结果则是Infinity

另外,对于Double和Float的NaN/Infinity等是否相等呢:

Float.NaN == Double.NaN false

Float.NEGATIVE_INFINITY == Double.NEGATIVE_INFINITY true

Float.POSITIVE_INFINITY == Double.POSITIVE_INFINITY true

所以对于除数有可能为0时需要对除法结果做个判断:

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

2、是否为无穷大  Double.isInfinite(toltal_ff) 是无穷大返回true

今天在统计数据中遇到这个问题,所以特意列出来

转载于:https://my.oschina.net/u/3315736/blog/1617710

你可能感兴趣的:(java中除数为0时出现的异常情况)