java – double d = 1 / 0.0 vs double d = 1/0

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是浮点除法,因此导致无穷大.

上一篇:docker开启远程访问


下一篇:JavaScript中的操作符