我正在做floats和ints的乘除运算,忘记了隐式转换规则(问题中的单词对于谷歌来说似乎太模糊了,比在这里问得更快)。
如果我有两个int,但我想做浮点除法,我是否只需要转换其中一个或两个操作数?乘法如何-如果我将float和int相乘,答案是float吗
发布于 2010-11-04 22:37:06
要演示,请执行以下操作:
int i1 = 5;
float f = 0.5f;
int i2 = 2;
System.out.println(i1 * f);
System.out.println(i1 / i2);
System.out.println(((float) i1) / i2);结果:
2.5
2
2.5发布于 2010-11-04 22:36:48
为了对整数执行任何类型的浮点运算,您需要将至少一个操作数转换(read: cast)为float类型。
发布于 2010-11-05 17:27:27
简单的答案是,Java将自动执行扩大转换,而不是缩小转换。例如,int->float是自动的,但是float->int需要强制转换。
https://stackoverflow.com/questions/4097694
复制相似问题