黑马程序员技术交流社区
标题:
关于运算中数值自动提升问题
[打印本页]
作者:
Nemo
时间:
2015-7-9 21:50
标题:
关于运算中数值自动提升问题
public static byte f(byte b1,byte b2)
{
//return (byte)(b1-b2);
//return b1-b2;
//return (byte)b1+b2;
//return (byte)b1/b2;
}
请问哪一句return可以编译通过,哪些不可以,原因是啥???
作者:
longbao
时间:
2015-7-9 22:08
第一句可以编译通过,其余三句都不能编译通过。
作者:
longbao
时间:
2015-7-9 22:11
因为两个byte类型数据运算过程中会自动提升为int类型数据,运算结果也是int类型,而方法需要byte类型的返回值,所以要把结果强制转换。只有第一句符合,其余三句都不符合。
作者:
javaking
时间:
2015-7-9 23:13
这问题问的好 我还真没注意~~
作者:
Nemo
时间:
2015-7-10 17:19
longbao 发表于 2015-7-9 22:11
因为两个byte类型数据运算过程中会自动提升为int类型数据,运算结果也是int类型,而方法需要byte类型的返回 ...
哪几个类型运算会被提升?分别被提升成什么类型呢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2