类型转换
-
由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。
-
低------------------------------------------------------>高
byte,short,char-> int -> long-> float -> double
-
运算中,不同类型的数据先转化为同一类型,然后进行运算。
-
强制转换 (类项)变量名 高 --> 低
-
自动转换 低-->高
注意:
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量的时候,强制转换
-
转换的时候可能存在内存溢出,或者精度问题!
public class Demo1 {
public static void main(String[] args) {
int money = 10_0000_0000; //JDK7新特性,数字可以用下划线分割
int years = 20;
int total = money*years;
long total2 = money*years;
long total3 = money*(long)years;
System.out.println(total);//-1474836480 , 溢出
System.out.println(total2);//-1474836480 , 默认是int,计算完成后转换为long
System.out.println(total3);//20000000000 , 先把一个数转换为long
}
}