Java Programming - Java.lang Class - Discussion


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


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

Dev said: (Sep 13, 2013)  
What is parameter passed into the method?

Vikas said: (Oct 2, 2014)  
int a = Math.abs(-5) ;

-5 is a valid parameter of int.

Vishnu said: (Jul 22, 2016)  
The syntax of that method is : static double abs(double arg)

If we pass int value int will return and if we pass double value will return then how can I staisfy with this answer. Can you any one explain?

Post your comments here:

Name *:

Email   : (optional)

» Your comments will be displayed only after manual approval.