黑马程序员技术交流社区

标题: 关于方法return问题 [打印本页]

作者: as9600    时间: 2016-3-15 23:20
标题: 关于方法return问题
当方法返回值类型是Int型时,为何return short的数据也行。不是返回值和返回值类型必须一致吗
作者: funnyjade    时间: 2016-3-15 23:47
这是隐式转换啊。你的返回值是int型,只要return的是可以自动提升为int类型的都可以,比如byte和short。但是反过来就不行了,要加强转。
作者: 陈文广    时间: 2016-3-16 00:37
是的,今天写代码的时候发现了,有个方法返回值类型是int ,方法里面return语句返回的类型是char类型,系统也不报错
但是后面利用返回的结果做运算就不是字符,是字符转成int类型后的值
作者: lijiy09    时间: 2016-3-16 01:01
int类型数据范围比short类型表示范围要大,如果表示的数超过了short,还能return吗?
作者: dmadboy    时间: 2016-3-16 09:20
lijiy09 发表于 2016-3-16 01:01
int类型数据范围比short类型表示范围要大,如果表示的数超过了short,还能return吗? ...

如果数超过了short类型,首先在方法体内就会报错,要求进行类型转换,而且如果在方法体内已经自动进行类型转换,return的时候  也就是int类型了
作者: dmadboy    时间: 2016-3-16 09:24
是一致的,因为return的时候进行了类型转换,转换为int型了,返回值就一致了
作者: yunfeng482    时间: 2016-3-16 09:38
受教了,基本类型搞不清楚,有些问题解决起来还是挺麻烦。
作者: pisces    时间: 2016-3-16 16:15
退出方法
作者: 大大阳    时间: 2016-3-16 21:27
short会自动提升为int型
作者: as9600    时间: 2016-3-16 23:29
嗯,了解知道了





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