This question already has answers here:
Why does integer division by zero 1/0 give error but floating point 1/0.0 returns “Inf”?
(5个答案)
3年前关闭。
输出为:
为什么双零除会返回Infinity而整数零除会引发异常?
(5个答案)
3年前关闭。
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
为什么双零除会返回Infinity而整数零除会引发异常?
最佳答案
这主要是由于double
类型(在Java中为IEEE754 64位双精度类型)具有无穷大的表示,而int
类型却没有这种表示。
请注意,double doubleResult = 1 / 0;
仍将引发异常:将结果分配给的变量的类型无关紧要。
07-26 07:53