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;

 

posted @ 2022-08-01 11:30  11111ghm  阅读(93)  评论(0)    收藏  举报