推荐于2016-02-15 08:22:35
最佳答案
float a = 1;这里的1是整形,当赋值给一个float时,存在一个隐式转换,不损失精度。
float a = 1f;1f就是float类型的。
如果你这样定义 f
loat f = 1.0;
肯定会出错。 因为1.0默认是double类型的。double范围比float大。为了不损失精度,不会自动转换。这是必须这样写
float f = 1.0f;
本文解释了Java中初始化浮点数变量时使用整数与浮点数字面量的区别。重点在于floata=1;与floata=1f;的不同之处,前者需要隐式类型转换,后者直接赋值。
float a = 1;这里的1是整形,当赋值给一个float时,存在一个隐式转换,不损失精度。
float a = 1f;1f就是float类型的。
如果你这样定义 f
loat f = 1.0;
肯定会出错。 因为1.0默认是double类型的。double范围比float大。为了不损失精度,不会自动转换。这是必须这样写
float f = 1.0f;

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