Java 的基本数据类型分为两大类:数值型和非数值型(也叫引用型)。
数值型
-
整型
byte
:8 位,取值范围为 -128 到 127short
:16 位,取值范围为 -32768 到 32767int
:32 位,取值范围为 -2^31 到 2^31-1long
:64 位,取值范围为 -2^63 到 2^63-1
-
浮点型
float
:32 位,单精度浮点数double
:64 位,双精度浮点数
非数值型(引用型)
-
字符型
char
:16 位,Unicode 字符,取值范围为 0 到 65535
-
布尔型
boolean
:只能取两个值之一,true
或false
类型长度
在 Java 中,不论是整型、浮点型还是其他类型,其大小(占用的字节数)是固定的,不会随着平台或者机器的不同而变化。
-
整型
byte
:1 字节(8 位)short
:2 字节(16 位)int
:4 字节(32 位)long
:8 字节(64 位)
-
浮点型
float
:4 字节(32 位)double
:8 字节(64 位)
-
字符型
char
:2 字节(16 位)
-
布尔型
boolean
:大小并不是一个明确的规定,但在实际实现中,它通常被映射成 1 个字节(8 位)。
需要注意的是,尽管在不同平台上的 JVM 实现可能会对基本数据类型的大小和范围进行微小的调整,但在 Java 语言规范中,这些数据类型的大小是明确定义的。