📜  用0除以Java中的Infinity或Exception

📅  最后修改于: 2020-04-05 07:06:09             🧑  作者: Mango

考虑以下代码片段:

public class mangodoc
{
    public static void main(String[] args)
    {
        double p = 1;
        System.out.println(p/0);
    }
}

输出

Infinity

 

public class mangodoc
{
    public static void main(String[] args)
    {
        int p = 1;
        System.out.println(p/0);
    }
}

输出:

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at mangodoc.main(mangodoc.java:8)

说明:在第一段代码中,将double值除以0,而在另一种情况下,将整数值除以0。但是,这两种解决方案都不相同。

  • 在进行双精度/浮点除法的情况下,输出为Infinity,其背后的基本原因是它实现了浮点算术算法,该算法根据IEEE为“除以零的情况”指定了特殊值,例如“非数字”或“ infinity”。
  • 如果是整数除法,则抛出ArithmeticException。