印象里,只要除以0,java应该会抛出异常,但是今天运行程序发现,除以一个double型的0时不会出现异常,结果是”infinity“。试验了一下,果然如此:
代码很简单:
double a= 0.0;
int b=0;
System.out.println(5/a);
System.out.println(5/b);
输出如下:
Infinity
Exception in thread "main" java.lang.ArithmeticException: / by zero
另外,如果是一个浮点型(double和float)除以0,那么结果也是infinity,而不是异常,因为此时java会把0自动作为浮点型处理。
参考:http://blog.csdn.net/lonelyroamer/article/details/7352639
本文探讨了Java中除以0的行为差异。当使用整数进行除法时,会抛出ArithmeticException异常;而使用浮点数时,则返回Infinity而非异常。这种行为源于Java对不同数据类型的处理方式。
1097

被折叠的 条评论
为什么被折叠?



