Se eu faço uma atribuição a um float assim:
float f = 30.0;
Não compila? Se não, Porque?
Se eu faço uma atribuição a um float assim:
float f = 30.0;
Não compila? Se não, Porque?
Não compila. O literal 30.0 por padrão é um double e ao atribuí-lo a um float você terá perda de precisão. Para compilar você deve fazer o cast para float indicando ao compilador que é isso mesmo que você quer:
float f = (float) 30.0;
ou declarar o literal como float, colocando a letra f no final do literal: float f = 30.0f