Java数据类型分为两大了类:内置数据类型和应用数据类型。

内置数据类型

Java语言提供八种基本类型。其中,包括六种两数字类型(四种整数类型,两种浮点型),一种字符类型、还有一种布尔类型。

八大基本类型 范围
byte 1个字节,8位(-128-127)默认值0(-2^7-2^7-1)
short 2个字节,16位(-32768-32767)默认值0(-2^15-2^15-1)
int 4个字节,32位(-2147 4836 48-2147 4836 47)默认值0(-2^31-2^31-1)
long 8个字节,64位(-9,223,372,036,854,775,808- 9,223,372,036,854,775,807)默认值0L(-2^63-2^63-1)
float 4个字节,32位()默认值0.0f
double 8个字节,64位()默认值0.0d
char 2个字节,16位(0-65535)(\u0000-\uffff)默认值\u0000
boolean 1位,默认值false

引用数据类型

除八大基本类型外,其他数据类型都是引用数据类型,默认值都是null

自动数据类型转换

低 ——————————————————> 高 byte,short,char—> int —> long—> float —> double


数据类型转换规则

(1)不能对boolean类型进行类型转换
(2)不能把对象类型转换成不相关类的对象
(3)在把容量大的类型转换为容量小的类型时必须使用强制类型转换
(4)转换过程可能导致溢出或精度损失
(5)浮点数到整数的转换是通过舍弃小数的到,而不是四舍五入

注意:int不会自动转换成long类型

数据类型强制转换

数据类型从大到小,需要强制类型转换

隐含强制类型转换

(1)整数的默认类型为int
(2)浮点型不存在这种情况,因为在定义float类型时必须在数字后面更上F,f