Its not because of the range of 314e7 and 42e7 is outside float rather their sizes are 64 bit. That's why you can't assign it in float.
For example following is legal.
Here is a quote from JLS 3.0
The largest positive finite float literal is 3.4028235e38f. The smallest positive finite nonzero literal of type float is 1.40e-45f. The largest positive finite double literal is 1.7976931348623157e308. The smallest positive finite nonzero literal of type double is 4.9e-324.
All the best for your exams
Naseem