黑马程序员技术交流社区

标题: 定义浮点型:float c1=-123;这样写为什么是正确的? [打印本页]

作者: 施俊    时间: 2012-3-6 12:23
标题: 定义浮点型:float c1=-123;这样写为什么是正确的?
做练习时在一本书里看到判断,发现这样的题,float c1=-123;答案判断它是正确的,没有明白。求解释。
作者: 刘基军    时间: 2012-3-6 12:31
-123当做int类型处理,而int类型是可以直接赋给float的(小类型可以直接赋给大类型),所以正确。
作者: 施俊    时间: 2012-3-6 12:34
刘基军 发表于 2012-3-6 12:31
-123当做int类型处理,而int类型是可以直接赋给float的(小类型可以直接赋给大类型),所以正确。 ...

那是否就是在未知变量可能为int型也可能为float型的时候定义为float型?
作者: 刘基军    时间: 2012-3-6 12:43
施俊 发表于 2012-3-6 12:34
那是否就是在未知变量可能为int型也可能为float型的时候定义为float型?

恩,对的
作者: 施俊    时间: 2012-3-6 14:06
刘基军 发表于 2012-3-6 12:43
恩,对的

非常感谢。
作者: Destiny    时间: 2012-3-6 17:41
类型可以自动转的 ~
作者: 黑马—王宁    时间: 2012-3-6 17:45
int整型,float是浮点型,范围是自动从小到大转化的。
作者: 付鹏    时间: 2012-3-6 19:29
小可转大,大转小会失去精度,两个大小不同的数据类型运算时,一定是小的转成大的在运算,-123是整形  所以能转换成float类型  
作者: 石德志    时间: 2012-3-6 20:35
这是类型转换的问题,类型转换分为显式和隐式两种,整数型的默认的都是int ,浮点型默认的是double (float f= 3.15 ;//会报错  应这样float f= 3.15f);整数型可以隐式转换(自动类型转换)为浮点型,反过来就只能用显式(强制类型转换)会丢失精度




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