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.