Aquí te explican porque.
http://stackoverflow.com/questions/1...-float-literal
Te dicen que si no le pones f como sufijo, entonces Java te lo toma como double.
Un ejemplo de como pierdes precisión con float.
Código Java:
Ver originalpublic class Main {
public static void main
(String args
[]) {
float f1 = 999999999;
double d1 = 999999999;
}
}