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