类型转换
类型容量从低到高:byte,short,char-->int-->long-->float-->double
-
强制类型转换: (类型)变量名
int i=128; byte b=(byte)i;//-128 内存溢出
-
自动类型转换: 低--->高
int i=128; double b=i;//128.0
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出或者精度问题! 例:((int)23.7) //23
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money=10_0000_0000;
int years=20;
int total=money*years;//-1474836480 ,计算的时候溢出了
long total2=money*years;//-1474836480 ,转换之前已经存在问题了
long total3=money*((long)years);//先把一个数转换为long,20000000000
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
}
}
标签:类型转换,int,money,long,years,--
From: https://www.cnblogs.com/Ginger54/p/16854564.html