概念
所谓的java自动类型转换,是指在基本类型中,容量小的数据类型可以自动转换为容量大的数据类型。在数据类型兼容的情况下,小转大就是自动类型转换,java自动类型转换也被称为隐式类型转换,不需要我们做任何额外的操作。
转换规律(重点)
根据自动类型转换的定义,8种基本类型之间的自动转换关系如下图所示:
根据上图,大家可以提取基本类型进行自动类型转换时的基本规律,如下:
1. 自动类型转换必须满足,转换前数据类型的位数要低于转换后的数据类型;
2. 当多种数据类型的数据混合运算时,Java首先会自动将所有的数据转换成容量最大的那种数据类型,然后再进行计算;
3. byte、short、char这三者之间不会相互转换,他们三者在计算时首先都会转换为 int 类型;
4. boolean类型不能与其他任何基本数据类型进行转换;
5. 当把任意基本数据类型(包括boolean)的值和字符串进行连接运算时,基本数据类型的值会自动转换为字符串类型;
6. 必须满足转换前的数据类型的位数要低于转换后的数据类型。
以上这些基本规律,希望各位能够熟练地记住并运用,这是我们开发时的基本功哦。
案例
为了能让大家更好地理解自动类型转换,给大家设计了如下配套代码案例,你必须手敲几遍哦。
我们要注意,超出范围的强制转型会得到错误的结果。因为转型时int的两个高位字节直接被扔掉,仅保留了低位的两个字节,因此强制转型的结果有可能是错的。
对于以上案例,希望大家动手敲起来,这些代码虽然看着简单,但只有你自己亲手练习了,你才能理解得更深刻。纸上得来终觉浅,绝知此事要躬行!
领取专属 10元无门槛券
私享最新 技术干货