竹笋

首页 » 问答 » 问答 » 除数为0会抛异常不一定哦,来看这个
TUhjnbcbe - 2023/8/12 21:46:00
北京有哪些比较好的白癜风医院 https://myyk.familydoctor.com.cn/2831/detail/

在Java的常见异常中,有一个异常是“java.lang.ArithmeticException:/byzero”。想必大家都见过吧,在除数为0时就会抛出这个异常了。

只要是除数为0就会抛出“java.lang.ArithmeticException:/byzero”这个异常吗?

如果我说不是,你相信吗?

来看下面的代码。

大家觉得上面这段代码执行的结果会是什么?

抛出异常么?还是其他的什么?

我来执行一下,贴上执行结果。

输出了“Infinity”。表示无穷大。

其实除数为0,在整数类型(比如int,long等)运算时,还有BigDecimal,会抛出“java.lang.ArithmeticException:/byzero”这个异常。

如果是double类型,float类型的运算时,就不会抛出异常了,而是得到无穷大这样的结果。被除数是正数,结果就是正无穷大,被除数是负数,结果就是负无穷大。

这个如果学过高数的同学,可能就直接明白了。

如果没有学过,我举个例子,大概说说。

比如被除数是,除数是,执行除法运算后,结果是1。

被除数还是,除数变小,变成50,执行除法运算,结果会变大,变成2。

被除数不变,除数继续变小,变成25,执行除法的结果就会继续变大,变成了4。

被除数还是不变,除数变小到1,执行除法运算后,结果就变成了。

也就是随着除数的越变越小,除法的结果就会越变越大。

是不是明白点了呢。

1
查看完整版本: 除数为0会抛异常不一定哦,来看这个