复习重温(类型转换)
数据类型转换分为隐式转换和强制转换。
隐式转换是自动执行的,两个范围不同的数运算会转换为大范围的数据类型再进行运算。
先转换后计算。
数据类型由小到大为:byte,short,int,long,float,double。
byte,short,char类型数据会先转换成int类型再计算。
byte a = 10; char b = 20; result = a + b; //result数据类型为int。
int a = 10; long b = 20L; float c =15.4; result = a + b + c; //result数据类型为float。
强制转换可以将大范围的数据缩小范围。
会丢失精度,数据不准确。
double a = 10.1; int b = (int) a; //b的值为10。
会出现数据溢出,发生错误。
int a = 500; byte b = (byte) a; //bytel类型最大数据为127,所以b的值为127。
运算中的强制转换需要先计算结果再进行转换。
byte a = 10; byte b = 20; byte result = (byte) (a + b); //这时result类型为byte。