类型转换
-
Java是强类型语言,进行部分运算时需要使用类型转换
-
不同类型数据先转化为同一类型再进行运算
-
高到低,强制类型转换 (类型)变量名
int i = 128;
byte b = (byte)i//内存溢出 -
低到高,自动类型转换(必要时强转亦可)
int i = 128;
double d = i;
-
不能对布尔值进行转换
-
不能把对象类型转化为不相干的类型
-
转换时可能存在内存溢出或精度问题 (浮点数转化为整数,失去小数部分)
int income = 10_0000_0000;//JDK7新特性,数字可以用下划线分割,下划线不会被输出
int years = 20;
int total = income*years;//溢出
long total1 = income*years;//默认int,转换前已溢出
long total2 = income*((long)years);//正确处理