Java.lang Class - Programming

Q1:

What will be the output of the program?
int i = (int) Math.random();

A i = 0

B i = 1

C value of i is undetermined

D Statement causes a compile error

ANS:A - i = 0

Math.random() returns a double value greater than or equal to 0 and less than 1. Its value is stored to an int but as this is a narrowing conversion, a cast is needed to tell the compiler that you are aware that there may be a loss of precision. The value after the decimal point is lost when you cast a double to int and you are left with 0.