强制转换
由范围大的转换为范围小的
例:
int i=128; byte a=(byte)i;
自动转换
由范围小的转换为范围大的
例:
int i=128; double a=i;
注意点
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量,强制转换
-
转换的时候可能存在溢出和精度问题!
例子:int i=20000000;
int b=20;
long total=i*b;
long total=(long)i*b;
byte,short,char->int->long->float->double