等级低到高:
- byte、short、int、long、float、double
- char、int、long、float、double
自动转换:运算过程中,低级可以自动向高级转换
强制转换:高级需要强制转换为低级,可能会丢失精度
规则:
- = 右边先自动转换成表达式中最高级的数据类型,再进行运算。整型经过运算会自动转化最低 int 级别,如两个 char 类型的相加,得到的是一个 int 类型的数值。
- = 左边数据类型级别 大于 右边数据类型级别,右边会自动升级
- = 左边数据类型级别 小于 右边数据类型级别,需要强制转换右边数据类型
- char 与 short,char 与 byte 之间需要强转,因为 char 是无符号类型