為什么這里一定要用double而不可以用float呢?
public class HelloWorld{
? ? public static void main(String[] args) {
? ? ? ? float ?avg1=78.5;
byte rise=5;
? ?float avg2=avg1+rise;
System.out.println("考試平均分:"+avg1);
System.out.println("調(diào)整后的平均分:"+avg2);
}
}
舉報(bào)
2017-01-02
Java中的小數(shù)默認(rèn)為double類(lèi)型(8字節(jié),占內(nèi)存64位),而float類(lèi)型(4字節(jié)32位),位數(shù)多的向位數(shù)少的轉(zhuǎn)換時(shí)系統(tǒng)會(huì)報(bào)錯(cuò)。定義float類(lèi)型變量時(shí),初始賦值為小數(shù)時(shí),必須遵循以下句法 float name=value or float name=(float)value,此處的name是變量名,value是一個(gè)小數(shù);而如果value是一個(gè)整數(shù)的話(huà),則java默認(rèn)為int類(lèi)型(4字節(jié)32位),int類(lèi)型可以自動(dòng)向float類(lèi)型轉(zhuǎn)換,如執(zhí)行下面這個(gè)語(yǔ)句時(shí)系統(tǒng)是不會(huì)報(bào)錯(cuò)的float length=16;System.out.println(length);//輸出結(jié)果為16.0。為了避免定義float類(lèi)型變量時(shí)出現(xiàn)數(shù)據(jù)類(lèi)型轉(zhuǎn)換時(shí)不兼容的問(wèn)題,建議采用float name=valuef;
希望你能采納我的回答*-*
2016-11-15
+1,上上一樓說(shuō)的沒(méi)錯(cuò),一看就是有點(diǎn)基礎(chǔ)的
2016-11-08
樓上說(shuō)的沒(méi)錯(cuò)!
2016-11-08
78.5在沒(méi)加f的狀態(tài)在都是double類(lèi)型的 double類(lèi)型比f(wàn)loat大不兼容!所以錯(cuò)!
2016-11-08
float好像是浮點(diǎn)型的哦。