文章詳情頁
java中整數(shù)數(shù)值默認(rèn)是int類型,這句話正確嗎?
瀏覽:227日期:2024-01-16 13:54:38
問題描述
比如byte b = 1; char c = 1;,如果整數(shù)類型默認(rèn)是int類型的話,那么byte b = 1;應(yīng)該需要強(qiáng)轉(zhuǎn)換才對,因為int是高精度的,但這里明顯不報錯,這是為什們呢?
問題解答
回答1:首先,整數(shù)類型默認(rèn)是int。這個毫無疑問。其次,在允許的類型范圍內(nèi),在此處byte:-128~127 而整數(shù)int 1 在這個范圍,編譯器會對常量自動進(jìn)行向下的轉(zhuǎn)化。如果超出這個范圍的常量,編譯器直接報錯。
回答2:byte,short,char,boolean在底層都是當(dāng)做int來處理的
回答3:不對的,兩個整形相加,如果小于等于int,則默認(rèn)是int,如果其中一個為long,則默認(rèn)按照long;
你試試申明兩個byte變量,然后相加賦值給另一個byte變量,編譯器會提示出錯的,需要強(qiáng)制類型轉(zhuǎn)換的
回答4:看看這篇:http://www.programgo.com/arti...
回答5:分自動轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換的
標(biāo)簽:
java
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備