面试float f=3.4;是否正确
类型转换不正确。3.4 是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换 float f =(float)3.4; 或者写成 float f =3.4F。在java里面,没小数点的默认是int,有小数点的默认是 double;编译器可以自动向上转型,如int 转成 long 系统自动转换没有问题,因为后者精度更高double 转成 float 就不能自动做了,所以后面的加上个 f;...
原创
2020-07-31 09:31:56 ·
939 阅读 ·
1 评论