03 Java基本数据类型

0 阅读3分钟

基本数据类型

Java 提供了 8 种基本数据类型,用于存储简单的数据值,它们不属于对象,直接存储在栈内存中,具有更高的执行效率。以下是这 8 种基本数据类型及其用法:

1. 整数类型(4 种)

用于存储整数值,根据表示范围不同分为以下 4 种:

类型占用字节表示范围用法示例
byte1 字节-128 ~ 127byte age = 25;
short2 字节-32768 ~ 32767short score = 95;
int4 字节-2^31 ~ 2^31-1(约 -21 亿~21 亿)int population = 1000000;
long8 字节-2^63 ~ 2^63-1(更大范围的整数)long distance = 123456789L;(注意末尾加 L 或 l 区分)

特点

  • 默认整数类型是 int,如果数值超过 int 范围,必须显式声明为 long(加 L)。
  • 适用于存储年龄、数量、整数 ID 等无小数的场景。

2. 浮点类型(2 种)

用于存储带小数的数值:

类型占用字节表示范围(近似)精度用法示例
float4 字节±3.402823e+38(约 ±3.4×10³⁸)单精度(约 6-7 位小数)float pi = 3.14f;(末尾加 F 或 f
double8 字节±1.797693e+308(约 ±1.8×10³⁰⁸)双精度(约 15-17 位小数)double price = 99.99;

特点

  • 默认浮点类型是 double,声明 float 时必须加 F(否则会被识别为 double 导致编译错误)。
  • 浮点类型存在精度误差(基于二进制存储),如需精确计算(如货币),建议使用 BigDecimal 类。

3. 字符类型(1 种)

用于存储单个字符( Unicode 字符):

类型占用字节表示范围用法示例
char2 字节0 ~ 65535(对应 Unicode 字符集)char c = 'A';(单引号包裹) char chinese = '中';(支持中文等 Unicode 字符)

特点

  • 本质上存储的是字符对应的 Unicode 编码值,可参与整数运算(如 'A' + 1 结果为 66,对应字符 'B')。

4. 布尔类型(1 种)

用于表示逻辑值(真 / 假):

类型占用字节取值范围用法示例
boolean1 字节(或按需优化)true(真)或 false(假)boolean isPass = true;

特点

  • 主要用于条件判断(如 if 语句、循环控制),不能直接与整数转换。

基本数据类型的默认值

当基本数据类型作为类的成员变量时,未手动初始化会有默认值:

类型默认值
byte/short/int0
long0L
float0.0f
double0.0d
char'\u0000'(空字符)
booleanfalse

注意:局部变量(方法内定义的变量)没有默认值,必须手动初始化才能使用。

用法总结

  • 选择数据类型时,需平衡范围和内存占用(如小范围整数用 byte 比 int 更省内存)。
  • 避免浮点精度问题:如 0.1 + 0.2 的结果不是 0.3,而是约 0.30000000000000004
  • 字符类型可用于存储单个字符或编码值,布尔类型仅用于逻辑判断。

通过合理使用基本数据类型,能提高程序的性能和内存效率。