public class Demo01 {
public static void main(String[] args) {
// 自动类型转换:小范围的数据存储到大范围的变量中
byte num1=100;
int num2=num1;
System.out.println(num2);//100
// 强制类型转换:大范围的数据存储到小范围的变量中。注意:有可能存储的了。
// 也有可能大范围的数据超过了小范围数据的范围,这个时候数据就会出现精度丢失。
int num3=120;
byte num4=(byte)num3;
System.out.println(num4);//120
int num5=130;
byte num6=(byte)num5;
System.out.println(num6);//-126 丢失精度
}
}
自动类型转换规则:
规则1:如果一个操作数为double型,则整个表达式可提升为double型
规则2:满足自动类型转换的条件 两种类型要兼容 数值类型(整型和浮点型)互相兼容 目标类型大于源类型: 例如:double 型大于 int 型