相关疑难解决方法(0)

为什么Java除以0.0时不会抛出异常?

我有代码来计算2个数字之间的百分比差异(oldNum - newNum) / oldNum * 100;- 其中两个数字都是doubles.我希望在oldNum为0的情况下添加某种检查/异常处理.但是,当我为oldNum和newNum进行了值为0.0的测试运行时,执行继续,好像什么都没发生并且没有抛出错误.使用ints 运行此代码肯定会导致算术除零异常.为什么Java在涉及到doubles 时会忽略它?

java double types integer divide-by-zero

68
推荐指数
4
解决办法
5万
查看次数

为什么1/0给出错误但1/0.0返回"Inf"?

我只是好奇这个:

1/0在Java中进行评估时,会发生以下异常:

线程"main"中的异常java.lang.ArithmeticException:/在Foo.main中为零(Foo.java:3)

但是1/0.0被评估为Infinity.

public class Foo {
    public static void main (String[] args) {
        System.out.println(1/0.0);
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

java double int

28
推荐指数
2
解决办法
2万
查看次数

2
推荐指数
1
解决办法
7306
查看次数