Java类型转换
实例
public class 类型转换 {
public static void main(String[] args) {
int i =128;
byte b= (byte) i;
double d=i;
System.out.println(i); //128
System.out.println(b); //-128 低---高 强制转换 内存溢出(byte范围 -128 ~ 127 )
System.out.println(d); //128.0 高---低 自动转换 整型转换为浮点型 System.out.println("============================================================================"); int money=10_0000_0000; //数字可以用下划线分割,这样更清楚,不会被识别。
int year=20;
int total=money*year;
System.out.println(total); //-1474836480 超过了int类型的表示范围,内存溢出 long total1= money*year; //这样只是把int类型计算结果赋值给long类型的变量,一样是溢出的,先溢出才赋值的 long total2= money*(long)year; //在计算中就进行强制类型转化,结果才会是long类型 System.out.println(total1); //-1474836480 System.out.println(total2); //20000000000
}
} ## 注意
* 不能对Boolean值进行转换
* 不能将对象转换成不相干的类型
* 高容量转换位低容量的数据类型时,需要进行强制转换
* 在进行强制转换时,可能造成内存溢出问题
* 浮点型 转换 整型,或者双精度浮点型转换位单精度浮点型的时候,可能出现精度问题,例如: float f=1.23 (int)f=1