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
为什么双零除法返回无穷大并且零零除法抛出异常?
答案 0 :(得分:1)
这主要是因为double
类型(在Java中是IEEE754 64位双精度类型)具有无穷大的表示,而int
类型则没有。
请注意double doubleResult = 1 / 0;
仍会导致抛出异常:分配结果的变量类型无关紧要。