I’m just curious about this:
When evaluating 1/0 in Java, the following exception occurs:
Exception in thread “main”
java.lang.ArithmeticException: / by
zero
at Foo.main(Foo.java:3)
But 1/0.0 is evaluated to Infinity.
public class Foo {
public static void main (String[] args) {
System.out.println(1/0.0);
}
}
Why does this happen?
That’s because integers don’t have values for +/-Inf, NaN, and don’t allow division by 0, while floats do have those special values.