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 关键字定义本质是不可变的特殊类属于引用类型。章节预告 —— 局部变量