零分割java整数与双

时间:2016-07-04 14:01:15

标签: java integer-arithmetic

    double doubleResult = 1d/0d;
    System.out.println(doubleResult);

    int intResult = 1/0;
    System.out.println(intResult);

输出结果为:

Infinity
Exception in thread "main" java.lang.ArithmeticException: / by zero

为什么双零除法返回无穷大并且零零除法抛出异常?

1 个答案:

答案 0 :(得分:1)

这主要是因为double类型(在Java中是IEEE754 64位双精度类型)具有无穷大的表示,而int类型则没有。

请注意double doubleResult = 1 / 0; 会导致抛出异常:分配结果的变量类型无关紧要。