一基本类型
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、由高到低时,可能存在溢出或精度问题