第8节:数据类型(基本数据类型和引用数据类型)
2026/5/22 14:29:34 网站建设 项目流程

1、基本数据类型

1.1 整数类型

整数类型用于存储没有小数部分的数字。 Java 提供了四种精度的整数类型,适用于不同范围的数值。

类型关键字内存大小取值范围(十进制示例)典型用途
字节型byte8位(1字节)-128 ~ 127处理文件流、网络协议等原始二进制数据
短整型short16位(2字节)-32768 ~ 32767在内存受限的旧系统或某些特殊场景(如图像处理中的像素值)
整型int32位(4字节)-2147483648 ~ 2147483647最常用,用于绝大多数整数计数、索引和计算
长整型long64位(8字节)-9223372036854775808 ~ 9223372036854775807处理天文数字、金融超大金额、科学计算中的大整数

核心要点:
• 整数默认为 int 类型。若直接写 100、-50 , Java 会将其视为 int 。
• 没有无符号类型。不同于某些编程语言, Java 的整数类型全部为有符号,即包含正负数。
• L 字面量后缀:当你需要显式定义一个 long 型字面量时,必须在数字后加 L 或 l (推荐大写 L ,避免与数字 1 混淆)。

1.2 浮点型

浮点类型用于存储带有小数部分的数值。它们遵循 IEEE 754 标准,通过科学计数法来近似表示实数。

类型关键字内存大小精度(有效位数)典型取值范围(绝对值范围)
单精度浮点float32位(4字节)约 6~7 位十进制±1.4 x 10(-45) ~ ±3.4 x 10(38)
双精度浮点double64位(8字节)约 15~16 位十进制±4.9 x 10(-324) ~ ±1.8 x 10(308)

核心要点:
• 浮点数默认为 double 类型。若直接写 3.14 , Java 会将其视为 double ;
• F 字面量后缀:要定义 float 类型字面量,必须在数字后加 F 或 f (推荐大写 F ,风格统一);
• 精度丢失问题:浮点数是近似值,计算时可能出现舍入误差。不要用 float 或 double 进行需要精确计算的金融或货币运算(应使用BigDecimal类)。

1.3 字符型

字符类型 char 用于存储单个 Unicode 字符。

类型关键字内存大小表示方式范围
字符char16位(2字节)单个字符字面量、 Unicode 转义序列、整数‘\u0000’(0) ~ ‘\uffff’(65535)

核心要点:
• 单引号表示字符。 char letter = ‘A’;
• 转义字符:Java支持特殊字符的转义表示,如 ‘\n’(换行)、‘\t’(制表符)、‘\’(反斜杠) ;
• Unicode 转义:可以直接使用 \u 后面跟四位十六进制数来指定任何 Unicode 字符;
• 字符本质是整数类型: char 底层存储的是该字符在 Unicode 表中 码点(无符号整数),因此可以参与部分整型运算(如加减)。

1.4 布尔型

布尔型用于表示逻辑真(true)或假(false)。它主要用于条件判断和循环控制。

类型关键字内存大小取值
布尔boolean未精确定义(通常为 1 位或 1 字节)true 或 false

核心要点:
• 只有两个值: true 和 false 。它们不是数字,不能与 0 或 1 等同;
• 严禁与整数相互转换: Java 严格要求类型安全, boolean 不能转换为 int ,反之也不可以 。这避免了某些编程语言中“假作0,真作非0”的模糊逻辑。


2、引用类型(先做了解)

引用类型与基本数据类型不同,它们存储的是对象的引用(内存地址),而不是实际的值。其包括:

2.1 类

最基础、最核心的引用类型,使用 class 关键字定义。

2.2 接口

使用 interface 关键字定义,是行为抽象,不能直接实例化,属于标准引用类型。

2.3 数组

Java 中数组是特殊的对象,属于独立的引用类型(与类、接口平级)。

2.4 枚举

JDK 5 引入,使用 enum 关键字定义;本质是继承自 java.lang.Enum 的特殊类,用于定义固定的常量集合,不可手动实例化,属于引用类型。

2.5 注解

JDK 5 引入,使用 @interface 关键字定义;本质是继承自 java.lang.annotation.Annotation 的特殊接口,属于引用类型。

2.6 记录

JDK 16 正式标准化,使用 record 关键字定义;本质是不可变的特殊类,属于引用类型。


章节预告 —— 局部变量

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询