数组元素点浮点数被截断

Array element point float getting truncated

发生:

double ages[] = new double[] {2D, 3D, 4D, 5D};
ages[0] = 7/2; 
Index  Element
0      3.0    
1      3.0
2      4.0
3      5.0 

有道理,因为:

7 int / 2 int = 3 int

但是当它在最后得到 appended 后缀 DFages[0] = 7/2;, INDEX 0 即使我们除以整数也会出现小数:

double ages[] = new double[] {2D, 3D, 4D, 5D};
ages[0] = 7/2D; 
Index  Element
0      3.5
1      3.0
2      4.0
3      5.0 

即使后缀 D 应该是 "OPTIONAL",为什么它会被 截断

7 / 2int/int 操作,因此结果是 3。当您将它分配给 floatdouble 变量时,它将变为 3.0.