onemoo
先说一下,你这句注释里的问题写错了吧? sum / 4.0 的结果不应该是 26.25 吗?!就当你是笔误了吧,所以你是问“为什么 sum/4 结果是 26? 而 sum/4.0 结果是 26.25 ?”sum / 4 这里除号的左右两侧都是整型,发生的是整型间除法,结果也是整型,也就是结果只取小数点前的整数部分。 即便 avg 是浮点型,但等号右侧计算出的结果是没有小数点的整型,所以最后 avg 也只得到整型部分。sum / 4.0 这里除号右侧是浮点型,那么发生的就是浮点除法。等号左侧的整型 sum 值会被转为 double 值再参与运算,运算结果也是浮点型。 所以最后 avg 就能得到浮点结果了。