黑马程序员技术交流社区

标题: int a = 3; double b = 3.1; if(a < b) {} 这里有没有进行数据类型提升 [打印本页]

作者: chkanon    时间: 2016-9-11 14:24
标题: int a = 3; double b = 3.1; if(a < b) {} 这里有没有进行数据类型提升
或者说这里需不需要数据类型提升

作者: Jarc    时间: 2016-9-11 15:35
有啊,数据类型不同,自动类型提升,否则你就没有结果出来
作者: gjf821687    时间: 2016-9-11 16:01
有啊,比较运算符左右两边都应该是相同类型,否则没法比较的啊
作者: 383412263    时间: 2016-9-11 21:12
Jarc 发表于 2016-9-11 15:35
有啊,数据类型不同,自动类型提升,否则你就没有结果出来

这个自动提升,是怎么执行的?把a强制转为double?
作者: Jarc    时间: 2016-9-11 22:21
383412263 发表于 2016-9-11 21:12
这个自动提升,是怎么执行的?把a强制转为double?

int,double类型 只是一个大小不同的容器,为了比较,会把小的自动装到大的里面去,再比较。
作者: 细听风语为梧桐    时间: 2016-9-11 23:01
当然有,if语句中的()中的语句一定是会被执行的,所以提升了




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