📜  除以0时Java中的无穷大或异常?

📅  最后修改于: 2022-05-13 01:55:50.947000             🧑  作者: Mango

除以0时Java中的无穷大或异常?

考虑以下代码片段:

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

输出

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

输出:

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

解释:在第一段代码中,双精度值除以 0,而在另一种情况下,整数值除以 0。但是它们的解决方案不同。

  • 在双/浮点除法的情况下,输出为Infinity ,这是它实现浮点算术算法的基本原因,该算法根据 IEEE 为“除以零的情况”指定了一个特殊值,如“非数字”或“无穷大” 754 标准。
  • 在整数除法的情况下,它会抛出 ArithmeticException。