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