今天我要说得是关于Java类型之间相互转换的事。
对于Java基本之间的转换来说,大致分为两种,分别是:自动类型转换和强制类型转换。
自动类型转换
所谓自动类型转换就是指两种类型转换时无需附加额外的操作,直接将一种类型的值赋给另一种类型的值即可。下面将分别讨论基本数据类型之间的自动转换和引用数据类型之间的自动类型转换。
-
基本类型
对于基本类型来说,只有四种整数、两种浮点数和字符之间可以发生自动类型转换,从表示范围小的数向表示范围大的自动转换。它们的表示范围从小到大分别为:byte < short < int < long < float < double和char < int < long < float < double。
这里需要强调的是,char虽然叫字符类型,但是其在内存中表示的时候依然是一个整数,也就是该字符对应的Unicode编码。
byte,short, int,long,float,double自动转换例子如下图所示:
![9f669de8c3dd8d1576c0b05ca0eeabe8.png](https://img-blog.csdnimg.cn/img_convert/9f669de8c3dd8d1576c0b05ca0eeabe8.png)
char,int,long,float,double自动类型转换的例子如下图所示: