类型转换
强制转换
低------------------------------------->高
byte,short,char-> int -> long -> float -> double
int i=128;
byte b=(byte)i;//强制转换,(类型)变量名 高---低
System.out.print(i);//128
System.out.print(b);//-127,内存溢出
System.out.print((int)23.5);//23,自动转换 低---高
注意点:
- 不能对布尔类型进行转换
- 不能对对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或精度问题!
public class demo1 {
public static void main(String[] args) {
int money=10_0000_0000; //钱
int year=20; //年
int toale=money*year;// -1474836480 ,内存溢出
long toale2=money*year;//-1474836480,输出后转换 内存溢出
long toale3=(long)money*year; // 转换前内型转换,20000000000
System.out.println(toale);
System.out.println(toale2);
System.out.println(toale3);
}
}