Java类型转换
// 低-->高
// byte,short,char -> int -> long -> float -> double
//转换时可能会造成“内存溢出”或“精度丢失”
int i = 128;
byte b = i; //内存溢出,结果为-127,byte最大值127
byte b = (byte)i; //需要强制转换
double c = 45.5;
float d = -45.5f;
sout((int)c); //输出45
sout((int)d); //输出-45
//JDK7新特性,数值之间可以用“_”分割,输出时不显示_
int salary = 10_0000_0000;
int years - 20;
int total1 = salary*years; //结果为-1474836480,计算时溢出了
long total2 = salary*years; //显示前的计算就已经出现了内存溢出,默认还是int类型
long total3 = salary*((long)years); //先转换一个值为long类型

浙公网安备 33010602011771号