浮点型/整型隐式转换

2022-09-01 21:45:09

我正在对s和s进行乘法和除法,但我忘记了隐含的转换规则(而且问题中的单词似乎太模糊了,无法比在这里更快地谷歌搜索)。floatint

如果我有两个 s,但我想做浮点除法,我只需要转换一个还是两个操作数?乘法怎么样 — 如果我乘以 a 和 an ,答案是 a 吗?intfloatintfloat


答案 1

您不能将 a 除以 a 的结果赋值,反之亦然。intfloatint

所以答案是:

如果我有两个s,但我想做浮点除法...?int

一个演员阵容就足够了。

如果我将 a 和 an 相乘,答案是 a 吗?floatintfloat

是的,它是。


float f = 1000f;
int i = 3; 

f = i; // Ok
i = f; // Error

f = i/f; //Ok 0.003
f = f/i; //Ok 333.3333(3)

i = i/f; //Error
i = f/i; //Error

答案 2

演示:

 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