float f=3.4;是否正确
float f=3.4;是否正确
不正确。3.4 是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换float f =(float)3.4; 或者写成 float f =3.4F;。
注意:1、java中没有小数点的数字默认是int类型,有小数点的数字默认是double类型
2、当低精度转为高精度的时候 没啥问题,不会丢失精度 比如 int 转为long
当高精度转为低精度的时候 会丢失精度 比如 float f=3.4; 正确写法应该是 float f=3.4f;

浙公网安备 33010602011771号