A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© as9600 中级黑马   /  2016-3-15 23:20  /  716 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

当方法返回值类型是Int型时,为何return short的数据也行。不是返回值和返回值类型必须一致吗

9 个回复

倒序浏览
这是隐式转换啊。你的返回值是int型,只要return的是可以自动提升为int类型的都可以,比如byte和short。但是反过来就不行了,要加强转。
回复 使用道具 举报
是的,今天写代码的时候发现了,有个方法返回值类型是int ,方法里面return语句返回的类型是char类型,系统也不报错
但是后面利用返回的结果做运算就不是字符,是字符转成int类型后的值
回复 使用道具 举报
int类型数据范围比short类型表示范围要大,如果表示的数超过了short,还能return吗?
回复 使用道具 举报
lijiy09 发表于 2016-3-16 01:01
int类型数据范围比short类型表示范围要大,如果表示的数超过了short,还能return吗? ...

如果数超过了short类型,首先在方法体内就会报错,要求进行类型转换,而且如果在方法体内已经自动进行类型转换,return的时候  也就是int类型了
回复 使用道具 举报
是一致的,因为return的时候进行了类型转换,转换为int型了,返回值就一致了
回复 使用道具 举报
受教了,基本类型搞不清楚,有些问题解决起来还是挺麻烦。
回复 使用道具 举报
pisces 中级黑马 2016-3-16 16:15:50
8#
退出方法
回复 使用道具 举报
short会自动提升为int型
回复 使用道具 举报
嗯,了解知道了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马