java中整数数值默认是int类型,这句话正确吗?
高洛峰
高洛峰 2017-04-18 10:51:57
0
5
1075

比如byte b = 1; char c = 1;,如果整数类型默认是int类型的话,那么byte b = 1;应该需要强转换才对,因为int是高精度的,但这里明显不报错,这是为什们呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(5)
迷茫

首先,整數型別預設是int。這個毫無疑問。
其次,在允許的類型範圍內,在此處byte:-128~127
而整數int 1 在這個範圍,編譯器會對常數自動進行向下的轉換。
如果超出這個範圍的常數,編譯器直接報錯。

Peter_Zhu

byte,short,char,boolean在底層都是當做int來處理的

Peter_Zhu

不對的,兩個整形相加,如果小於等於int,則預設是int,如果其中一個為long,則預設按照long;

你試試申明兩個byte變量,然後相加賦值給另一個byte變量,編譯器會提示出錯的,需要強制型別轉換的

洪涛

看看這篇:http://www.programgo.com/arti...

阿神

分自動轉換和強制轉換的

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板