由于java是强类型语言,所以要进行运算的时候,需要运用到类型转换
低-----------------------------------------------------------------高(容量大小由低到高,小数优先级一定大于整数)
byte,short,char---->int---->long--->float---->double
运算中,不同类型的数据先转化为同一类型,然后进行运算
输入代码
int n =128; byte m =n; 显示报错,原因就是没有将不同类型的数据转化为同一类型
将代码按照格式转换后,报错消除,但输出后结果不同(由高变低为强制类型转换)
byte m =(byte)n;
原因是超出byte的范围(-128---127)内存溢出导致结果不同,需要找一个更大的类型转换
将byte更改为更大的double后结果相同(由低变高为自动类型转换)
double m =n;
强制类型转换(类型)变量名 高---低
自动类型转换(类型)变量名 低到高
注意点
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量是强制转换
4.转换的时候可能存在内存溢出,或者精度问题