Java里面将数据类型分为了两大类:
- 基本数据类型;
- 引用数据类型;(如图)
其中基本数据类型包括(8个):
- 整数类型(byte,short,int,long)
- 小数类型(浮点型)(float,double)
- 字符类型(char)
- 布尔类型(boolean)
引用数据包括(n个):
- 类class(String.....)
- 接口
- 数组
- 枚举
数据类型的转换
自动转换:
- 在Java中,boolean类型与所有其他7种类型都不能进行转换。(byte short int long float double char)
- 如下7种数据类型,它们之间都可以进行转换,但是可能会存在精度损失或者其他一些变化:
byte ==》short ,char ==》 int ==》long==》 float==》 double
需要注意的是:
1.char型具有两个字节,其数值范围是0 ~ 2^16-1,
2.short类型也具有两个字节,其值的范围是-2^15 ~ 2^15-1
这直接导致byte型不能自动类型提升到char,char和short直接也不会发生自动类型提升(因为值范围问题),同时,byte当然可以直接提升到short型。
所以,char 不能和byte short 相互自动转换
强制转换:
- 强制类型转换的语法
数据类型 变量名 = (数据类型)值;(值可能是更高的类型)
前面:较小的数据类型
后面:较大的数据类型
- 强制类型转换的注意事项
- 高转低会导致精度丢失,不同类型的强制转换,可能会导致精度的下降.
- 实际开发中:应该要知道被强制转换的数据,是在一个已知的范围;