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.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值