1)在java四类八种基本数据类型中,除了boolean外,其他的7种类型,都可以相互转换。
2)转换方式:
A)自动转换,通常发生在以下两种情况:
1)将小类型,赋给大类型:
byte a = 20;
int n = a;
2)短整形(byte,short,char)的赋值(把int赋值给短整形):
byte a = 20;
注意:小数不给转换
例如:float a = 2.0;
B)强制转换(可能会丢失数据————高位截肢):
将大类型赋给小类型。
long a = 20;二进制: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0100;
int b = (int)a;二进制: 0000 0000 0000 0000 0000 0000 0001 0100;
数据丢失:
int x = 270;二进制: 0000 0000 0000 0000 0000 0001 0000 1110;
byte y = x;二进制: 0000 1110;
注意:
小数强转为整数:
double a = 3.8;
int x = (int)a;//x = 3(直接舍弃小数部分)