这里边的int avg=(age1+age2+age3+age4)/4;为什么不能直接写为int avg=sum/4;???

来源:3-2 Java中的算术运算符

慕先生2416051

2020-11-03 14:32

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;

int avg=(age1+age2+age3+age4)/4;

int minus=age1-age2;

int newAge=--age1;

    System.out.println("年龄总和:"+sum);

    System.out.println("平均年龄:"+avg);

System.out.println("年龄差值:"+minus);

System.out.println("自减后的年龄:"+newAge);


}

}


写回答 关注

4回答

  • StudentBird
    2020-12-23 08:54:29

    double avg=(double )sum/4; 输出后的结果是有小数的。他这里题目要求的是没有小数。 故此可以肯定。是先运算sum/4.然后在强转。答案就是double avg=(double)(sum/4)


    慕标1060...

    double 比 int 大这里不是强制转换

    2022-05-19 09:20:36

    共 1 条回复 >

  • 慕码人8449555
    2020-12-19 07:00:08

    double avg=sum/4;

  • 湮灭潮汐
    2020-11-04 10:58:23

    因为他要求的结果是26.0,是小数,int只是整数,用double可以得出

  • Han_zhihua
    2020-11-03 15:56:11

    和除以4不一定就是整数,前边应该改为double,

    Studen... 回复Han_zh...

    double avg=(double )sum/4; 输出后的结果是有小数的。他这里题目要求的是没有小数。 故此可以肯定。是先运算sum/4.然后在强转。答案就是double avg=(double)(sum/4)

    2020-12-23 08:54:03

    共 3 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165523 学习 · 17586 问题

查看课程

相似问题