类型转换
小数的优先级一定大于整数
低--------->高
byte,short,char---->int---->long---->float---->double
int i=128;
byte b=(byte)i;//内存溢出,强制转换
sout(i);
sout(b);
强制类型转换 (高----->低)
自动类型转换(低---->高)
int i=128;
double b=i;
/*注意点
- 不能对布尔值进行转换。
- 不能把对象类型转换为不相干的类型。
- 转换时可能存在内存溢出,或者精度问题。
*/
sout((int)23.7F)
sout((int)-45.89)
char c=‘a’;
int d=c+1;
sout(d);
sout((char)d);
//操作比较大的数的时候,注意溢出问题
int money=10_0000_0000L;
int year=20;
int total=money*year; ×
long total=money*year; ×
long total=(long)money*year; √