public class HelloWorld{ public static void main(String[] args) { int age1=24; int age2=18; int age3=36; int age4=27; int sum=age1+age2+age3+age4; double avg=sum/4; //4换成4.0为什么结果不一样啊?????????? int minus=age1-age2; int newAge=--age1; System.out.println("年龄总和:"+sum); System.out.println("平均年龄:"+avg); System.out.println("年龄差值:"+minus); System.out.println("自减后的年龄:"+newAge);
1 回答
慕运维4840222
TA贡献1条经验 获得超0个赞
这里面是数据类型的转换问题,用4除的时候,因为sum 和 4 都是int型变量,所以最后的结果也是int型(如果有小数会舍去),然后是用int型的结果赋值给double类型的avg变量。而用4.0(这里隐含的是double型数据)去除,得到的结果会自动的转为精确度更高的double型(这时就成了double类型的结果赋值给double类型了)。这就导致了两者的结果不一样。
添加回答
举报
0/150
提交
取消