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双精度浮点型的,难道用整型数当被除数计算时,只能得到整型吗.为什么?
希望能帮到你
赋值符号优先级来说的话,右边 如果 sum是整型而且除数也是整型,那么在首先判断sum和除数的类型,如果sum都是整型,那么计算出来的数据是整型,然后这个整型在赋值的过程中转成double,所以你看上去还是整型数据
如果 sum、或者除数任意一个数据是 double类型,这时才会进行类型隐式转换,你可以把 4修改成4.0,SUM即使是整型,输出结果是double类型,你可以试试~
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题