JAVA中一些分母为0的特殊运算

 

今天看文章看到一个关于3/0与3.0/0区别的问题,整理记录如下:

类似3/0或0/0

分子分母都是整数,且分母为0,则会抛出异常java.lang.ArithmeticException

类似3.0/0或3/0.0

分子分母中有一个或两个都是小数,且分母为0分子不为0,则运行结果是Infinity(无穷大)

因为如果包含小数,即是浮点型数据,则另一个数据也会先转换成浮点型数据后再参与运算,而0.0并不是真正意义上的0,它只不过是非常接近0而已,所以一个非零的数除以一个接近0的数就是无穷(包括正无穷和负无穷)

0/0.0 或0.0/0

分子分母都是0,且其中一个或两个都是小数,运行结果是NaN(Not an Number)

因为分子分母都会转换成浮点数,而0.0并不是真正意义上的0,它只不过是非常接近0,两个接近0的数相除,所以运行结果是NaN.

 

你可能感兴趣的:(JAVA基础)