- 自动类型转换:容量小的数据类型可以自动转换成容量大的数据类型
注意:容量不是指数据类型的字节大小,而是指该数据类型可以容纳的数据量的多少,比如lang(8字节)可以自动转换为float(4字节),因为float可以有小数,float类型的数据量远远多于long类型的数据。
- 转换时可能会损失一定的精度(int或者long转向float和double时可能损失精度)
- 强制类型转换:(转换后类型)转换对象
注意:数据类型转换时数据溢出问题,最好把计算表达式第一个数直接转成大类型,如下程序块1:
//程序块1
{
int a = 20;
int b = 1000000000;
//计算后结果已经溢出int类型范围
long c = a * b;
System.out.println(c);
//提前转换,不溢出
long d = (long)a * b;
System.out.println(d);
}
输出结果:
-1474836480
20000000000