用整型数当被除数计算时,只能得到整型吗.为什么?

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

qq_慕村4573083

2020-07-17 21:37

public class HelloWorld{
    public static void main(String[] args) {
  int age1=24;
  int age2=18;
  int age3=36;
  int age4=27;
 double sum=age1+age2+age3+age4;
  double avg=sum/4;
  int minus=age1-age2;
  int newAge=--age1;
  
     System.out.println("年龄总和:"+sum);
     System.out.println("平均年龄:"+avg);
  System.out.println("年龄差值:"+minus);
  System.out.println("自减后的年龄:"+newAge);

 }
}为什么用int sum时算出的avg是整数,用double sum时才能算出精确的avg。我知道int是整型,但是计算avg时是用的是double双精度浮点型的,难道用整型数当被除数计算时,只能得到整型吗.为什么?

写回答 关注

2回答

  • 慕无忌0562946
    2020-07-18 09:26:56

    希望能帮到你

  • 慕无忌0562946
    2020-07-18 09:26:14

    赋值符号优先级来说的话,右边 如果 sum是整型而且除数也是整型,那么在首先判断sum和除数的类型,如果sum都是整型,那么计算出来的数据是整型,然后这个整型在赋值的过程中转成double,所以你看上去还是整型数据

    如果 sum、或者除数任意一个数据是 double类型,这时才会进行类型隐式转换,你可以把  4修改成4.0,SUM即使是整型,输出结果是double类型,你可以试试~

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

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

1165172 学习 · 17581 问题

查看课程

相似问题