Java开发过程中有一个特性需要我们注意,整型、实型(常量)、字符型数据可以进行混合运算。
所以,在运算过程中,不同类型的数据会先转化为同一类型,然后进行运算。
深入了解Java开发过程中的类型转换
自动转换
必须满足转换前的数据类型的位数要低于转换后的数据类型,大致转换规则为低级到高级依次如下:byte,short,char—> int —> long—> float —> double
强制转换
条件是转换的数据类型必须是兼容的;格式:(type)value type是要强制类型转换后的数据类型
数据类型转换必须满足如下规则:
不能对boolean类型进行类型转换;
不能把对象类型转换成不相关类的对象;
在把容量大的类型转换为容量小的类型时必须使用强制类型转换;
转换过程中可能导致溢出或者损失精度(主要发生在强制转换过程中,如int强制转换比它位数短的byte之后就有可能会精度缺失);
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入。