强制类型转换
强制转换(类型) 变量名 高-----低
自动转换 低-----高
int i =128
byte b=(byte)i //-128 内存会出现溢出问题(高到低转换)
double c=i //128.0 (自动转换)(低到高转换)
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
//强制类型转换
System.out.println((int)23.7);//23
System.out.println((int)-45.89f);//-45
char n ='a';
int d =n+1;溢出问题
System.out.println(d);//98
System.out.println((char) d);//b
操作比较大的时候溢出问题
JDJ7特性,数字之间可以用下划线分割
int money=10_0000_0000;
System.out.println(money);//1000000000
int year=20;
int total=money*year;
System.out.println(total);//-1474896480,计算时候溢出了
//如果改为Long类型
long total1=money*year;
System.out.println(total1);//-1474896480,因为默认是int,转换之前就已经存在问题了
long total2=money*(long)year;//先把一个数转换为long类型
System.out.println(total2);//2000000000
标签:02,java,int,money,基础,System,println,转换,out From: https://www.cnblogs.com/lizhongyi/p/17158698.html