我有这个简单的代码,在得到double
类型的结果之前,我需要理解为什么等式的右边被强制转换为整数。这里的答案是1.0
,所以我不明白为什么不是1.5
。
int x = 2;
double y = 1 + 1/x;
System.out.println(y);
发布于 2018-08-19 09:40:55
只需按如下所示更新代码,因为您正在处理doubles。
int x = 2;
double y = 1 + 1.0/x;
System.out.println(y);
发布于 2018-08-19 09:41:22
注意:双y=1+ 1/x;
修正:双y=1+ 1.0/x;
你会得到1.5
发布于 2018-08-19 09:47:58
这里x是一个整数,1也是一个整数,所以计算是在int中完成的,所以你得到的答案是1.0。要获得1.5,你必须将1转换为1.0的两倍。然后您将获得as 1.5。
https://stackoverflow.com/questions/51913747
复制相似问题