除数可以为零吗?java里面的Infinity Infinity 除数为0
程序员文章站
2024-01-06 21:59:28
...
今天遇到一个超级诡异的事情,直接上代码
public static void main(String[] args) { System.out.println(1/0); }
result:java.lang.ArithmeticException: / by zero
是个人都知道的除数不能为0
public static void main(String[] args) { System.out.println((1.0/0)); }
result:Infinity
无穷大,也没有问题啊
但是
public static void main(String[] args) { System.out.println((int)(1.0/0)); }
result:2147483647
似曾相识
public static void main(String[] args) { System.out.println((int)(-1.0/0)); }
result:-2147483648
明白了int的最大值
但是
public static void main(String[] args) {
System.out.println((float)(-1.0/0));
}
reslut:-Infinity
网友分享的代码
double i = 1.0 / 0; System.out.println(i); //Infinity System.out.println(i + 1); //Infinity System.out.println(i == i + 1); //true