数据类型
Java 的数据类型分为两种:
- 基本数据类型
- 引用数据类型
基本数据类型
基本数据类型有八种。4种整型(byte、short、int、long),2种浮点型(float、double),1种字符型(char),1种布尔型(boolean)。
byte
- 8位二进制数
- 最小值是
-2^7,即-128 - 最大值是
2^7-1,即127 - 示例:
byte x = 1
提示
因为整数有正负之分,因此由最高位二进制数来表达正负(0表示正数,1表示负数),因此整型的取值范围都少一位二进制数。
又因为0的存在,整型的最大值需要减1。
short
- 16位二进制数
- 最小值是
-2^15,即-32768 - 最大值是
2^15-1,即32767 - 示例:
short x = 2
int
- 32位二进制数
- 最小值是
-2^31,即-2,147,483,648 - 最大值是
2^31-1,即2,147,483,647 - 默认的整型类型
- 示例:
int x = 3
long
- 64位二进制数
- 最小值是
-2^63,即-9,223,372,036,854,775,808 - 最大值是
2^63-1,即9,223,372,036,854,775,807 - 示例:
long x = 2,147,483,647L
为什么long类型的末尾要加L?
因为整型的默认类型是int,如果要定义一个超过int类型范围的值,则需要加上标识L。
"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
后面的浮点型同理。
float
- 32位二进制数,遵循IEEE754标准
- 示例:
float x = 3.4F
double
- 64位二进制数,遵循IEEE754标准
- 默认的浮点型类型
- 示例:
float x = 3.4
警告
浮点数不能表示精确值,因为 IEEE 754 标准导致会有精度运算偏差的问题。
char
- 16位二进制数,表示 Unicode 编码
- 示例:
char x = 'A'
boolean
- 1位二进制数
- 只有两个值:true 和 false
- 示例:
boolean x = true
引用数据类型
引用数据类型有五种。数组 Array、类 Class、接口 interface、枚举 enum、注解 @interface。