Я думаю, что Роман прав, потому что причина скорее всего в том, чтобы уменьшить использование памяти. Учтите, что, когда предельная точность не важна, вы вдвое уменьшите объем памяти, необходимый для числовых переменных.
Помните, что нет необходимости использовать кастинг. Просто добавьте F к вашему литералу (так что 2.5 становится 2.5f). Я не знаю, достаточно ли умен компилятор, чтобы выполнить следующую замену, но если нет, это также сделает ваш код немного более эффективным.
Рассмотрим
float x = (float) 2.5;
и
float x = 2.5f;
В первом случае во время выполнения программа сохраняет значение типа double, затем выполняет операцию приведения перед сохранением результирующего значения с плавающей запятой. Во втором случае компилятор распознает значение как число с плавающей запятой, поэтому во время выполнения вы избегаете как сохранения двойного (как бы временно это ни было), а также избегаете операции приведения (так как оно уже сохранено как плавающее).