黑马程序员技术交流社区

标题: 关于float [打印本页]

作者: 郭娇珍    时间: 2012-12-28 20:10
标题: 关于float
本帖最后由 郭娇珍 于 2012-12-29 18:15 编辑

float型float f=3.4是否正确?
作者: 肖志锋    时间: 2012-12-28 20:28
不对,在java中默认的类型是int和double
做整型赋值的时候,比如,byte,char,还有short,直接赋值一个int的是可以的,虽然是大给小,但是因为编译器会去匹配你的值是不是在那个类型的范围内,超出范围会报错,不超出没关系。
但是float的时候不同了,因为默认double,必须强制类型转换,或者你直接赋值float型的,加个f或者F。
好像是这么回事,自己去测试下代码验证下比较好。
作者: 刘丰伟    时间: 2012-12-28 20:53
float精度7位,float型float f=3.4也不算错误,在你进行javac编译的时候会报可能损失精度,对于float在赋值的时候后面最好加上f,表示是float类型的。
作者: 王豪    时间: 2012-12-28 21:04
float  double  是浮点型  而java中默认是double  所以声明float时要加 f  表示属性是单精度
作者: filter    时间: 2012-12-29 14:08
float f = 3.4;
编译器报错:cannot convert from double to float 不能把double型转换为float型
double d = 3.4;//显示正确结果
默认是double类型,所以定义float类型要强制转换,float f = 3.4f;
作者: 郭娇珍    时间: 2012-12-29 18:15
本帖最后由 郭娇珍 于 2012-12-29 18:19 编辑

{:soso_e189:}问题已经解决




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2