黑马程序员技术交流社区

标题: 关于强制类型转换的问题? [打印本页]

作者: 绝密飞行    时间: 2015-7-6 23:40
标题: 关于强制类型转换的问题?
short  b = 3 + 5;
float  f   = 5 + 5.5;
前者运行正常,后者却会提示损失精度,虽然自己有点理解,5.5默认为doule类型,所以类型提升后不能赋值给float类型的数据,但为什么前者就可以呢?

作者: 改变    时间: 2015-7-7 00:42
因为3和5都在short范围内啊,如果是这样:short  b = 3, b = b + 5,就会损失精度,好好理解一下。
作者: lei200703    时间: 2015-7-7 01:05
改变 发表于 2015-7-7 00:42
因为3和5都在short范围内啊,如果是这样:short  b = 3, b = b + 5,就会损失精度,好好理解一下。 ...

如果int b=128+1呢
作者: 改变    时间: 2015-7-7 03:18
lei200703 发表于 2015-7-7 01:05
如果int b=128+1呢

肯定可以啊,在int范围内呢




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