Java中有八种基本数据类型,它们分为四大类:整型、浮点型、字符型和布尔型。下面是这些基本数据类型的详细列表及其取值范围:
-
整型(Integer Types):
byte
: 8位有符号二进制整数。取值范围从 -128 到 127(包括 -128 和 127)。short
: 16位有符号二进制整数。取值范围从 -32,768 到 32,767。int
(或Integer
): 32位有符号二进制整数。取值范围从 -2^31 到 2^31 - 1,即 -2,147,483,648 到 2,147,483,647。long
(或Long
): 64位有符号二进制整数。取值范围从 -2^63 到 2^63 - 1,即 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。注意,long
类型的字面量需要在数字后加上L
或l
(虽然l
和小写的i
容易混淆,所以通常推荐使用L
)。
-
浮点型(Floating-Point Types):
float
(或Float
): 32位IEEE 754单精度浮点数。它有大约 7 位十进制有效数字。取值范围大约是 ±1.2E-38 到 ±3.4E+38。注意,float
类型的字面量需要在数字后加上F
或f
。double
(或Double
): 64位IEEE 754双精度浮点数。它有大约 16 位十进制有效数字。取值范围大约是 ±2.3E-308 到 ±1.8E+308。double
是默认的浮点类型,除非特别指定,否则所有浮点字面量都被视为double
类型。
-
字符型(Character Types):
char
: 16位Unicode字符。它表示一个单一的16位Unicode字符,取值范围从 ‘\u0000’(即0)到 ‘\uffff’(即65,535)。
-
布尔型(Boolean Types):
boolean
(或Boolean
): 可以是true
或false
。
注意点:
- 对于整型字面量,如果你写了一个超出
int
范围但在long
范围内的数字,Java 会自动将其视为long
类型。为了明确表示一个long
类型的字面量,需要加上L
或l
后缀。 - 对于浮点型字面量,如果不加后缀,Java 会默认为
double
类型。如果要明确表示一个float
类型的字面量,需要加上F
或f
后缀。 - 字节型(
byte
)的取值范围确实是 -128 到 127,因为它是有符号的,所以最高位(第8位)用于表示正负号,剩下的7位用于表示数值。
这些基本数据类型在 Java 编程中非常基础且重要,它们用于定义变量、数组、方法参数和返回值等。了解它们的取值范围和特性有助于编写高效且正确的代码。