一、数据类型
在 Java 中,数据类型主要分为 基本数据类型 和 引用数据类型。
1.1 基本数据类型
基本数据类型共有四类八种:整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。
八种基本数据类型的位数、取值范围和默认值如下表所示:
| 数据类型 | 占用大小(字节) | 位数 | 取值范围 | 默认值 | 描述 |
|---|---|---|---|---|---|
| byte | 1 | 8 | -128 到 127 | 0 | 最小的整数类型,适合节省内存 |
| short | 2 | 16 | -32768 到 32767 | 0 | 较少使用,用于特定内存优化场景 |
| int | 4 | 32 | -2³¹ 到 2³¹-1 | 0 | 最常用的整数类型,日常编程默认类型 |
| long | 8 | 64 | -2⁶³ 到 2⁶³-1 | 0L | 大整数,定义时需加 L 或 l |
| float | 4 | 32 | 1.4E-45 到 3.4E38 | 0.0F | 单精度浮点数,定义时需加 F 或 f |
| double | 8 | 64 | 4.9E-324 到 1.8E308 | 0.0D | 双精度浮点数,精度更高,默认小数类型 |
| char | 2 | 16 | '\u0000' 到 '\uffff' | '\u0000' | Unicode 编码,可存字符或整型 |
| boolean | 无明确 | 无明确 | true 或 false | false | 逻辑判断,不可与 int 转换 |
注意以下几点:
- 与 C/C++ 不同,Java 的
int始终占 4 字节,long始终占 8 字节,不受系统位数影响。 - 整型和浮点型默认有符号。整型默认是
int,浮点型默认是double。 - 定义
float变量时,数值后必须加f,否则视为double。 char采用 Unicode 编码,可存储整型数据和中文字符。boolean不能与int互转,不存在 "1 表示 true" 的情况。
关于 int 和 long 的位宽与溢出问题,常有人混淆。int 是 32 位,最大值约 21 亿;long 是 64 位,范围大得多。文件传输等大数据场景建议用 long 避免溢出。
类型转换规则:
- :小范围转大范围(如 转 ),无需手动干预。


