+ 2
Why is this code not resulting in ArithmeticException
What is the output of this code? double x = -1.0 / 0.0; System.out.println(15.0/x); Options: 1. Infinity 2. Negative zero with the type double (correct answer) 3. ArithmeticException 4. NaN Checked in IDE and after evaluation (-1.0 / 0.0), x is "-Infinity". And after dividing 15.0 by x it gives "-0.0" My question is why is dividing by 0.0 not resulting in exception and how come dividing by -Infinity is -0.0
2 Answers
+ 6
Mayank Upadhyay
In Java:-
dividing a non-zero number by zero results is positive or negative infinity, not an`ArithmeticException`.
According to your code:-
`x`is assigned the value`-Infinity` because `-1.0` divided by `0.0` the is result negative infinity.
When 15.0 is divided by `-Infinity`, the result is negative zero `-0.0` not an ArithmeticException.
Note that:-
Negative zero is a valid value in floating-point arithmetic, and it represents a signed zero.It occurs when a negative number is divided by zero.
Conclusion:-Options 2 is correct...
The output would indeed be negative zero with the type `double`.
ArithmeticException:-
An `ArithmeticException` is an exception that occurs during arithmetic operations in Java.
It is typically thrown when an exceptional condition arises during arithmetic calculations,
Example:-dividing an integer by zero.
in this case of floating-point division, the result is not an arithmeticexception but rather a special value like `positive or negative infinity`...