// 基本数据类型转换
// 自动类型提升 : 小---->大 ===> 可以正常存放,但是可能会造成内存的浪费
short s1 = 1;
int i1 = s1;
//强制类型转换 :
// 大---->小 ===> 有可能会造成损失精度
int i2 = 129;
byte b2 = (byte) i2; // 超过范围丢失精度
int i22 = 125;
byte b22 = (byte) i22;
System.out.println(b2);
System.out.println(b22);
// 如果存储多种类型的数据参与运算,结果类型为参与运算的最大类型
byte b3 = 1;
short s3 = 1;
long l3 = 1;
long l33 = b3 + s3 + l3;
// 如果为byte,short,char赋值时候,把int类型的常量,只要范围 允许可以成功赋值
final int i4 =33;
short s4 = i4;
short s44 = i4 + 4; // 常量也能运算自动向下转
// boolean不参与类型转换
// 自动转型 byte -- >short --> int ---> long --> float ---> double