两种方式
(1)、自动类型转换(隐式类型转换)
从小类型到大类型可以自动完成
类型的大小关系如下图所示:
By—short—(char—)int—long—float—double
注释:除了boolean类型外,其他的类型都可以参与转换
(2)、强制转换:从大类型到小类型需要强制转换符
形式:(需要转换成的类型)变量
注释:但这样转换有可能会造成精度损失(小数部分丢失)或溢出
Eg: long b=5L;
Int c=b;//编译错误
Int d=(int)b;//强制类型转换
注释:多种基本类型参与的表达式运算中,运算结果会自动的向较大类型进行转换
两点规则
(1)、整数直接量可以直接赋值给byte,short,char,但不能超出范围
Eg: byte bl=5;//5表示直接量
Byte b2=200;//编译错误,超出范围了
Byte b3=6;
(2)、byte,short,char型数据参与运算时,先一律转换为int类型再运算
Eg:byte b4=b1+b3;//编译错误
//b1和b3为int类型,相加也为int型,int型转为byte类型需要强制转换。
Eg:byte b4=(byte)(b1+b3);//正确