double d=1/0.0;
System.out.println(d);
它会打印Infinity
,但如果我们编写double d=1/0;
并打印它,我们会得到这个异常:Exception
in thread "main" java.lang.ArithmeticException: / by zero
at D.main(D.java:3)
为什么 Java 知道在一种情况下跳零是无穷大,但对于 int 0 却没有定义?在这两种情况下,d 都是双倍的,并且在这两种情况下,结果都是无穷大。