Course Curriculum

Infinity or Exception in Java when divide by 0?

Infinity or Exception in Java when divide by 0?

Consider the following code snippets:

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

Infinity

public class PrutordotAi
{
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 PrutordotAi.main(PrutordotAi.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.

(Next Lesson) How to start learning Java