Our website is made possible by displaying online advertisements to our visitors. Please consider supporting us by whitelisting our website.

Which of the following would compile without error?

Question: 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);

Answer: Option A

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”.