类型转换
-
由于JAVA是强类型语言,所以有些运算的时候需要类型转换
-
-
强制类型转换,从高转到低
-
byte : 强制转换 (类型)变量名
-
运算中,不同类型的数据先转化为同一类型,然后进行计算。
-
自动类型转换,从低到高
-
byte b = (byte)i; //内存溢出 //强制转换 (类型)变量名 高--低 //自动转换 (类型)变量名 低--高 System.out.println(i); System.out.println(b); /* 注意点: 1.不能对布尔值进行转换 2.不能把对象类型转换为不想干的类型 3.在把大容量转换为低容量的时候使用强制转换 4.转换的过程中可能存在内存溢出,或者精度问题! */
-
注意类型转换
int money = 10_0000_0000;
System.out.println(money);
int years = 20;
int total = money*years; //-1474836480,计算的时候溢出了
System.out.println(total); //默认是int,转换之前已经存在问题了?
long total2 = money*((long)years); //先把一个数转换为long
System.out.println(total2);
// L l