类型转换
-
由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
-
低----------------------------------------高
byte,short,char ---> int ---> long ---> float ---> double
-
运算中,不同类型的数据先转化为同一类型,然后进行计算。
int i = 128; byte j = (byte)i;//强制转换 (类型)变量名 高------低
int i = 128; double j = i;//自动转换 低------高
-
-
注意点:
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
把高容量转换为低容量的时候,强制转换,反之自动转换
-
转换的时候可能存在内存溢出,或者精度的问题
-
操作数比较大的时候,注意溢出问题
-
int money = 10_0000_0000;//JDK新特性,数字之间可以用下划线分割且下划线不会被输出 int years = 20; int total = money*years;//-1474836480,计算的时候溢出
-
long total2 = money*years;//计算之前money和years默认是int,所以溢出
-
long total3 = money*((long)years);//先把一个数转换为long
-
-
要用1.2F和2.3L,不要用1.2f和2.3l,用大写不要用小写,以便观察
-