笔试时经常会出现的一个问题,float型float f=3.4是否正确
答案:不正确。
原因:精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 或float f = 3.4f
在java里面,没小数点的默认是int,有小数点的默认是 double;
编译器可以自动向上转型,如int 转成 long 系统自动转换没有问题,因为后者精度更高
double 转成 float 就不能自动做了,所以后面的加上个 f;
答案:不正确。
原因:精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 或float f = 3.4f
在java里面,没小数点的默认是int,有小数点的默认是 double;
编译器可以自动向上转型,如int 转成 long 系统自动转换没有问题,因为后者精度更高
double 转成 float 就不能自动做了,所以后面的加上个 f;
本文探讨了Java中float类型的赋值问题,指出直接赋值3.4给float变量会导致精度错误,并提供了两种正确的赋值方式:使用强制类型转换或在数值后加f。
874

被折叠的 条评论
为什么被折叠?



