Java语言提供了两种用于存储浮点数的基本类型,即 double 和 float,而java语言默认的浮点类型是 double ,所以当在程序代码中为 float 型的变量赋值 3.14159时,会被默认为 double类型,由于 double 类型数据占用的存储空间超出了 float 型数据的存储空间,所以需要强制类型转换为 float 类型或者为浮点数添加 f 或 F 作为后缀,而语句 float num = 3.14159 ,即没有强制类型转换,也没有加后缀 F 或 f,所以语句 float num = 3.14159 是错误的。
为 float 型变量num 正确赋值的代码如下:
float num = 3.14159f;
或
float num = 3.14159F;
在为 float 型的变量赋值为浮点数时,建议尽量少用强制类型转换,因为当把高精度的double型数据,强制转换为低精度的 float型数据时,会有精度损失,而正确的做法是在浮点数值后面加后缀 f 或 F ,这样就可以正确的为 float 类型的变量赋值了。