方法methodA返回类型是:public class returnIt{
returnType methodA(byte x, double y) {
return (short) x/y * 2;
}
} 希望大家帮我解释一下,越详细越好!谢谢了
returnType methodA(byte x, double y) {
return (short) x/y * 2;
}
} 希望大家帮我解释一下,越详细越好!谢谢了
解决方案 »
- 关于 GUI 报表问题,是用什么第三方控件好
- java 文件操作,急!求高手進來看一下
- 线程中run方法会被同步吗?
- 如何改变JFileChooser 中的 showDialog的标题和确认按钮名
- eclipse的source folders on build path和default output folder的问题
- 怎样删除数组中下标?
- 感觉线程很难懂,看了thinking in java ,有很长时间了,最后还是对线程不怎么理解,尤其是对于一些线程运行的结果,很多都出乎意料
- 初学JAVA,package怎么使用
- 刚学,一个编译问题,请各位帮帮我!
- 请教如何制作托盘程序?
- 再问一个关于线程锁的问题,谢谢各路好汉!
- 关于Java图像的
我的理由是 最后有强转。也就是四楼的意思。
return (short) x/y * 2; 返回一个short类型的啊!
public static void main(String args[]) {
int count = 0;
for (int a = 0; a < 34; a++) {
for (int b = 0; b <= (100 - 3 * a) / 2; b++) {
int d = 100 - 3 * a - 2 * b;
if (d > 0 ) {
System.out.println("a=" + a + "|b=" + b + "|c=" + d * 2);
count++;
}
}
}
System.out.println("there are " + count + "ways to process"); }
}
return (short) x/y * 2; 1、首先将x强制转换成short类型
2、short类型的x除以double类型的y,结果为double类型,再乘以2
3、返回值类型returnType为double类型
那returnType methodA(byte x, double y) {
return (short) x/y * 2;
方法的类型必须要比short精度更高,而且在方法参数里头声明了参数y是double类型
所以方法的返回类型肯定是double了
所以最后隐式转换为double类型了
public class returnIt{
returnType methodA(byte x, double y) {
return (short) x/y * 2;
}
} 首先执行强制类型转换:把x强制转换为了short型,然后x/y -->short/double,java会自动转换为最高级别类型:double,然后double类型的(x/y)再*2,还是double类型