为什么这个类型在Java中使用一小部分工作?

时间:2017-11-15 10:17:25

标签: java casting

 double frac = (double) 3/2

在最长的时间里,我认为这只会将int除法的结果转换为double,但是frac的预期值为1.5。为什么这样做?

1 个答案:

答案 0 :(得分:2)

double frac = (double) 3/2;

相当于

double frac = ((double) 3)/2;

前3个被转换为double(并变为3.0),然后执行浮点除法,返回1.5

如果在施法之前进行了分割,如

double frac = (double) (3/2);

结果将是1.0,因为整数除法将在演员之前执行。