在赋值运算或算术运算时,要求数据类型相同,否则要进行类型转换
转换方式:
–自动转换 和 强制转换
除boolean类型外,所有的基本数据类型因为各自的精度不同,赋值时都要考虑这个问题
除boolean类型外,所有的基本数据类型包括:整型,浮点型,字符型。
类型转换方向由低到高:
byte--->short--->int--->long--->float--->double
自由类型转换由低到高:自由转换数值大小不变
强制类型转换由高到低:强制转换会丢失数据或失真
当一种类型强制转换成另一种类型,而又超出目标类型的表示范围,就会被截断
成为一个完全不同的值。
▪总结
右侧:所有变量先转换为字节数最多的数据类型,再计算
两侧:左侧宽度>右侧宽度 自动转换
左侧宽度<右侧宽度 强制转换
特例
可以将整型常量直接赋值给byte, short,char等类型变量,而不需要进行强制类型转换,
只要不超出其表数范围
short a = 12; //合法
short a = 1234567; //非法