Java类型转换
类型转换
-
运算时,不同数据类型转化为同一类型,再进行运算
-
baye,short,char->int->long->float->double
-
类型转换由低到高是自动类型转换
-
如果要由高到低则需要强制类型转换
-
强制类型转换时,可能会发生内存溢出,精度不准
-
浮点数类型级别高于整数类型,所以,float所占字符少,但是也要比long高
-
不能对布尔类型进行转换
-
不能把对象类型转换成不相干的类型
-
强制转换使用括号来实现,比如将long转换为int,可以这么写
long num = 12123L;
int num2 = (int(num));
//例子 //jdk7新特性,数字之间可以用下划线分割,不影响输出,方便读 int money = 10_0000_0000; int years = 20; int total = money*years;//输出会成为负数,因为计算的时候溢出了 long total2 = money*years;//输出依然是负数,因为转换之前已经存在问题,money*years输出的是int类型 long total3 = money*(long(years));//输出正确

浙公网安备 33010602011771号