黑马程序员技术交流社区

标题: java基础题,变量数据类型与定义? [打印本页]

作者: SunCowbee    时间: 2016-9-11 00:47
标题: java基础题,变量数据类型与定义?
float x,y=0;
编译正确
float x,y=1.0;
编译错误
为啥?求大神正解!!!!!!!!!!!!!!!!!!

作者: 爱学习爱java..    时间: 2016-9-11 07:30
0是int类型 会自动向上转型  1.0为double的 比float类型高  所以会报错 自己理解 参考
作者: Frankle    时间: 2016-9-11 07:40
java整数类型默认是int类型,将int类型赋值给float类型会自动类型提升;浮点类型默认是double类型,double类型赋值给float类型可能会损失精度,一般定义一个float类型的数格式为float f = 1.0f;
作者: Angel若梦    时间: 2016-9-11 07:45
楼上说的很详细
作者: java程序猿    时间: 2016-9-11 09:26
本帖最后由 java程序猿 于 2016-9-11 09:28 编辑

1.0编译器默认是double类型, 将double类型转换成float类型可能会损失精度, 而0编译器默认的是int类型,  float的取值范围比int的大,固可以将小的数放到大的容量中~!
作者: hgd5201314    时间: 2016-9-11 10:00
支持支持
作者: SunCowbee    时间: 2016-9-11 11:19
爱学习爱java.. 发表于 2016-9-11 07:30
0是int类型 会自动向上转型  1.0为double的 比float类型高  所以会报错 自己理解 参考 ...

懂了,谢谢




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