long a = 10;//宽转换
boolean
char
int longfloat double
byte short
---------------------------------------------------------->宽转换
<----------------------------------------------------------窄转换
1.宽转换: 表数范围小的 赋值给表数范围大的叫做宽转换
特点: 安全的 自动的 不需要强制类型转换
00010010 00010010 00010010 00010010
00000000 00000000 00000000 00000000 00010010 00010010 00010010 00010010
= 的实质是二进制位的拷贝 long a = 10;// 相当于把int类型的32位拷贝到long类型的低32中 肯定是没问题的
2.窄转换: 把表数范围大的 赋值给表数范围小的叫做窄转换...
特点: 不安全 不是自动的 可能会发生精度丢失 需要进行强制类型转换
窄转换的两种可能
(1) long类型数值不是很大 可以放到类型中
(2) 转换真正溢出的时候