一基本類型
java基本類型分為8種,分別為byte,short,int,long,float,double,char,boolean,除boolean外,其他類型都可以進行相互轉換。
二。轉換原則
1、寬轉換(自動類型轉換或隱式轉換):
自動轉化:數據類型可以自動從低精度—>高精度。(即為由整數到分數)(byte<short<char<int<long<float<double)
(1):byte可以直接轉換到short、int、long、float、double。
(2):short可以直接轉換到int、long、float、double。
(3):char可以直接轉換到int、long、float、double。
(4):int可以直接轉換到long、float、double。
(5):long可以直接轉換到float、double。
(6):float可以直接轉換到double
注:int轉換為float,long轉換為double,可能造成精度丟失
byte,short,int都是有符號的整數,進行寬轉換時要進行符號位的擴展。例如:int i= (char)
2、窄轉換
(1):double可以直接轉換到byte、short、char、int、long、float。
(2):float可以直接轉換到byte、short、char、int、long。
(3):long可以直接轉換到byte、short、char、int。
(4):int可以直接轉換到byte、short、char。
(5):char可以直接轉換到byte、short。
(6):short可以直接轉換到byte、char
注:極大可能會丟失信息
3、寬窄同時轉換
寬窄同時轉換發生在byte轉換到char期間。轉換過程為:先將byte寬轉換到int,再將int轉換到char
注意:1、不能對布爾值進行轉換
2、不能把對象類型轉化為不相干的類型
3、把高容量轉化為低容量時,強制轉換
4、由高到低時,可能存在溢出或精度問題