以下代码在Java中的输出为3.0
。
为什么不是3.3333333...
?
double a = 10 / 3;
System.out.println(a);
因为int / int
返回一个int
(不管之后分配给什么)。
所以10 / 3
返回3
(整数除法四舍五入)。
这只能转换为double
。
要解决此问题,请将其中一个值设为double
(因此为double / int
,返回double
):
double a = 10.0 / 3;
或
double a = (double)10 / 3;