Java异常处理:/ zeo

时间:2016-09-15 12:29:06

标签: java

我正在使用java jdk1.8版本。 当我将任何数字除以零(0) 它显示消息" Infinity"。它应该在运行时显示ArithmeticException:/zero。可能是什么原因。

class division
{
      public static void main(String args[])
      {
          float a=10,b=0;
          System.out.println(a/b);
      }
}

2 个答案:

答案 0 :(得分:6)

不,它不应该发出例外。

Java坚持使用IEEE754浮点标准。这表明如果分子也为零,则浮点零除以NaN,如果分子为正,则为无穷,如果分子为负,则为无穷。

答案 1 :(得分:0)

在数学上,

x / 0可以是:

  • 如果x = 0则未知,因为0/0 = p可以很容易地求解为0 = 0 * p,这对于任何p
  • 都是如此
  • 无效,因为x / 0 = p可以很容易地解决为p * 0 = x,因为x!= 0是不真实和矛盾的
  • 无限,因为如果我们有一个数字y无限接近0,四舍五入为0,那么x / 0~x / y = + - 无穷大,取决于x和y的符号

@Bathsheba在答案中指出:

  

Java坚持使用IEEE754浮点标准。

因此,如果我们看一下Wikipedia,那么我们可以看到:

  

除以零(对有限操作数的操作给出了精确的操作   无限结果,例如1/0或log(0))(默认返回±无穷大)。