阿梦1123
2016-04-26 21:16
double avg=(double)(sum/4);与double avg=sum/4.0的结果不一样;前者是26.0 后者是26.25,为什么?
(double)(sum/4)先进行除法运算再进行强制转换,sum和4都是int型,则结果也为int型,所以26.25采用去尾法为26,强制转换后为double型26.0;
后者4.0是double型的,在sum/4.0的过程中,sum先要转换成double型105.0与4.0保持一致,结果也为double型26.25
前者相当于把sum/4的结果(是个整数)转化成浮点数,所以值跟整数是一样,然后再赋给avg
Java入门第一季(IDEA工具)升级版
1165565 学习 · 17587 问题
相似问题
回答 1
回答 2