Open In App

Infinity or Exception in Java when divide by 0?

Improve
Improve
Like Article
Like
Save
Share
Report

Consider the following code snippets:




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


Output:

Infinity




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


Output:

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

Explanation: In the first piece of code, a double value is being divided by 0 while in the other case an integer value is being divide by 0. However the solution for both of them differs.

  • In case of double/float division, the output is Infinity, the basic reason behind that it implements the floating point arithmetic algorithm which specifies a special values like “Not a number” OR “infinity” for “divided by zero cases” as per IEEE 754 standards.
  • In case of integer division, it throws ArithmeticException.

Last Updated : 06 Feb, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads