Java 有 8 种基本数据类型(primitive data types),它们不是对象,直接存储在栈内存中,具有固定的内存大小和默认值。
四大类基本数据类型
1. 整数类型(整型)
| 类型 | 大小 | 取值范围 | 默认值 | 示例 |
|---|---|---|---|---|
| byte | 8位 | -128 到 127 | 0 | byte b = 100; |
| short | 16位 | -32,768 到 32,767 | 0 | short s = 1000; |
| int | 32位 | -2³¹ 到 2³¹-1 (约±21亿) | 0 | int i = 100000; |
| long | 64位 | -2⁶³ 到 2⁶³-1 | 0L | long l = 100000L; |
2. 浮点类型(小数类型)
| 类型 | 大小 | 取值范围 | 默认值 | 示例 |
|---|---|---|---|---|
| float | 32位 | 约 ±3.4e+38 (有效位数6-7位) | 0.0f | float f = 3.14f; |
| double | 64位 | 约 ±1.8e+308 (有效位数15位) | 0.0d | double d = 3.1415926; |
3. 字符类型
| 类型 | 大小 | 取值范围 | 默认值 | 示例 |
|---|---|---|---|---|
| char | 16位 | Unicode字符,\u0000 到 \uffff | '\u0000' | char c = 'A'; |
4. 布尔类型
| 类型 | 大小 | 取值范围 | 默认值 | 示例 |
|---|---|---|---|---|
| boolean | 未明确定义 | true 或 false | false | boolean flag = true; |
注意事项
-
字面量表示:
-
long 类型需要在数字后加
L或l(推荐大写 L) -
float 类型需要在数字后加
F或f -
double 类型可以加
D或d(可省略)
-
-
默认值规则:
-
类成员变量有默认值(如上表所示)
-
局部变量必须显式初始化,否则编译错误
-
-
自动类型转换(从小类型到大类型):
byte → short → int → long → float → double char → int -
强制类型转换(可能丢失精度):
int i = (int)3.14; // i = 3 -
特殊值:
-
float/double 有正负无穷大(
POSITIVE_INFINITY,NEGATIVE_INFINITY) -
float/double 有 NaN(Not a Number)值
-
这些基本数据类型与对应的包装类(如 Integer、Double 等)不同,它们是直接存储值而不是对象引用,因此在性能敏感的场景下更高效。
开启新对话
Java基本数据类型介绍

被折叠的 条评论
为什么被折叠?



