The character, short and byte dont need any explanation.
However the int behaviour was very strange so i executed the program with some debugs.
The Long.Max_VALUE is 9223372036854775807 which is 9.223372036854776E18 in double and 9.223372E18 in float.
The Integer.MAX_VALUE is 2147483647 which is 2.147483647E9 in double and 2.14748365E9 in float. As you can the number is rounded of in float. So the compariosion returned "unequal"
I hope they dont give such questions in the real exam.
coz if they did then god help me