+ 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

17th Aug 2023, 8:29 AM
Mayank Upadhyay
Mayank Upadhyay - avatar
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`...
17th Aug 2023, 10:56 AM
Darpan kesharwani🇼🇳[Inactive📚]
Darpan kesharwani🇼🇳[Inactive📚] - avatar