Which of the following would compile without error?
- A. int a = Math.abs(-5);
- B. int b = Math.abs(5.0);
- C. int c = Math.abs(5.5F);
- D. int d = Math.abs(5L);
0 voters
Answer:
Option A
[details=Explanation:]
The return value of the Math.abs() method is always the same as the type of the parameter passed into that method.
In the case of A, an integer is passed in and so the result is also an integer which is fine for assignment to “int a”.
The values used in B, C & D respectively are a double, a float and a long. The compiler will complain about a possible loss of precision if we try to assign the results to an “int”.[/details]