Infinity or Exception in Java when divide by 0?
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
Share your thoughts in the comments
Please Login to comment...