内置数据类型
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