类型转换
低--------------------------------高
byte,short,char→int→long→float→double
int i=128; byte b=(byte)i;//内存溢出 byte 最大127 //b=-128
高→低 强制转换
低→高 自动转换
注意点
-
不能对布尔值进行转化
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量的时候,强制转换
-
转换的时候可能存在内存溢出或者精度问题
-
操作数较大的时候,注意溢出问题
int total=money*years;//-1474836480
long total2=money*years;//默认是int,转换之前就存在问题了
long total=money*(long)years;//正确