自动数据类型转换
数值型:从小到大
整型:byte->short ->int -> long
浮点型:float-->double
float自动转为double类型可能存在精度损失
整型->浮点型
直接在整数后边补个.0
可能存在精度损失问题
byte->short->int->long--->float--->double
字符型:
char->int->long->float->double
char->int
根据码表将字符对应的ASCII值转为int类型
强制数据类型转换
从大到小:编译会报错
大的类型转到小的类型可能会溢出,为了确保程序的安全,编译时就会报错;
大的数据类型的数据值在小数据类型的范围之内,可以使用强制类型转换;
格式:
(type)数据
将数据的类型强制转换为小括号里的类型
注意:
1、浮点数强制转换为整数
存在精度损失
无论小数部分的大小 直接舍弃
2、类似于布尔类型无法通过强制转换转为数值型 否则会报错
3、当大的数据类型的值超过了小数据类型的范围时,从最低位开始拿对应位数的二进制
数据类型同时适用引用数据类型