public class HelloWorld{? ? public static void main(String[] args) { int age1=24; int age2=18; int age3=36; int age4=27; int sum=age1+age2+age3+age4;? ? ? ? double avg=sum/4; ? ?//4換成4.0為什么結(jié)果不一樣啊??????????? ? ? ? int minus=age1-age2;? ? ? ? int newAge=--age1; ? ?System.out.println("年齡總和:"+sum);? ? System.out.println("平均年齡:"+avg); System.out.println("年齡差值:"+minus); System.out.println("自減后的年齡:"+newAge);
1 回答

慕運維4840222
TA貢獻1條經(jīng)驗 獲得超0個贊
這里面是數(shù)據(jù)類型的轉(zhuǎn)換問題,用4除的時候,因為sum 和 4 都是int型變量,所以最后的結(jié)果也是int型(如果有小數(shù)會舍去),然后是用int型的結(jié)果賦值給double類型的avg變量。而用4.0(這里隱含的是double型數(shù)據(jù))去除,得到的結(jié)果會自動的轉(zhuǎn)為精確度更高的double型(這時就成了double類型的結(jié)果賦值給double類型了)。這就導(dǎo)致了兩者的結(jié)果不一樣。
添加回答
舉報
0/150
提交
取消