double d=1/0.0;
System.out.println(d);
它打印Infinity,但如果我们写双d = 1/0;并打印它我们会得到这个例外:例外
在线程“main”java.lang.ArithmeticException:/由零
在D.main(D.java:3)为什么Java在一种情况下知道潜水为零是无穷大但是对于int 0它没有定义?
在这两种情况下,d都是双倍的,在两种情况下,结果都是无穷大.
解决方法:
浮点数据类型具有保留的特殊值以表示无穷大,而整数值则不保留.
在您的代码中,1/0是一个整数除法,当然会失败.但是,1 / 0.0是浮点除法,因此导致无穷大.