问1如题;问2:为什么第一个输出的是浮点型第二个是整数型?而不是第一个是整数型呢?现阶段还是小白一枚,请各位多指教。感激不尽
因为你的secondarg是浮点,它不可能因为做了任何操作和运算就变成整形了。
secondAvg定义的时候就是浮点啊,肯定是浮点
secondAvg使用了(int),这是类型的强制转换。
你可以在电脑上运行此程序,去掉(int),输出都是整型
Java有8种常用数据类型,从小到大依次排列为 byte-short-int(char)-long-float-double,**在运算过程中结果会自动向较大的类型转换**。
题一: firstAvg是double型,rise是int型,firstAvg+rise结果会自动转换为double型,所以将结果赋给secondAvg double型不会报错。
题二: 因为secondAvg是double型所以println出来当然是浮点型(实际上调用Double的toString方法)
(int)secondAvg是将secondAvg强制转换为int型,所以println出来就是整型