数据类型主要分为基本类型和引用类型两大类。
一、基本类型
1.基本类型又分为数值类型和boolean类型,
(1)数值类型包括浮点数类型、整数类型和字符类型
整型 浮点型(初始化时需要加f或d) 字符类型
byte 8位 1字节 float 32位 4字节 char类型原本用于表示单个字符。
short 16位 2字节 double 64位 8字节 如今,Unicode字符可以用一个char值描述,
int 32位 4字节 例如‘A’是编码值为65所对应的字符常量
long 64位 8字节 还可表示一些特殊的转义字符。
(2)boolean类型有两个值:false和true,用来判定逻辑条件。整型值和布尔值之间不能进行相互转换。
2.类型转换主要在赋值、方法调用和算术运算三种情况下发生
(1)赋值和方法调用转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换
- boolean和其他基本数据类型之间不可以相互转换
- byte可转换成short、int、long、float和double
- short可转换成int、long、float和double
- int可转换成long、float和double
- char可转换成int、long、float和double
- long可转换成float和double
- float可转换成double
- 在可表示范围内,整数可以直接赋值给byte、short和char三种类型。
(2)算术运算中的类型转换规则:先转换为高位数据类型,再参与运算,结果也是最高位的数据烈性;byte、short、char运算会转换成int
二、引用类型
1.引用类型包括类类型引用、接口类型引用和数组类型引用。
2.引用类型转换规则:
- 基本类型和对象包装类可自动转换,原理是自动拆箱和自动装箱
- 子类能直接转换成父类或接口类型
- 父类转换为子类需要强制类型转换,如果转换失败,会抛出ClassCastException异常。