CSNotesCSNotes
MySQL
Java
SSM
Redis
学习路线
TODO
实用工具
GitHub
MySQL
Java
SSM
Redis
学习路线
TODO
实用工具
GitHub
  • 第一章 Java 基础

    • 一、OOP 三大特性
    • 二、8 种基本数据类型
    • 三、BigDecimal
    • 四、类的访问权限
    • 五、包装类
    • 六、继承
    • 七、多态
    • 八、final 关键字
    • 九、static 关键字
    • 十、抽象类
    • 十一、接口
    • 十二、四种内部类
    • 十三、Lambda+ 函数式接口
    • 十四、枚举 enum
    • 十五、反射
    • 十六、注解
    • 十七、泛型
  • 第二章 集合

    • 一、集合框架总览
    • 二、ArrayList 源码解析
    • 三、LinkedList 源码分析
    • 四、HashSet
    • 五、String 底层结构
    • 六、String 常量池与 equals
    • 七、StringBuffer
    • 八、时间类:4 代演进史
    • 九、Stream 流
    • 十、工具类设计规范
    • 十一、Assert
    • 十二、常用工具类
  • 第三章 设计模式

    • 一、七大设计原则
    • 二、单例模式(饿汉式)
    • 三、装饰器模式
    • 四、策略模式
  • 第四章 异常

    • 一、Java 异常体系
    • 二、异常(完整版)
  • 第五章 并发

    • 一、多线程基础 JUC
    • 二、多线程进阶
    • 三、线程池
  • 第六章 JVM

    • 一、JSON 库
  • 第七章 RPC

    • 一、RPC 定义
  • 第八章 消息队列

    • 一、MQ 业务解耦
  • 第九章 JDK17 新特性

    • JDK17 新特性
    • 项目

二、8 种基本数据类型

(一)8 种基本类型分 4 类

1.整数类型 4 种

日常场景选 int

超过 21 亿用 long

short 基本不用

byte:读写二进制数据、IO 流

类型占用存储空间范围举例
byte1 B-128 ~ +127private byte age;员工年龄 0-100,够。
short2 B-215 ~ 215 - 1(-32768 ~ +32767)private short yearsWork; 工作年限
int4 B-231 ~ 231 - 1(-21 亿 ~ +21 亿)private int officeId; 工位号
long8 B-263 ~ 263 - 1(-9e18 ~ +9e18,足够员工 ID/雪花 ID/身份证 18 位)private long id; 员工编号/雪花 ID,工号绝对不能用 int,3 年 2147483647L 溢出负号

2.小数类型 2 种

绝大多数情况下用 double,java 的浮点型默认是 double。

用 double 发工资,结果 25000.10+0.20=25000.300000000003 少 1 厘被财务骂

Java 的浮点常量默认为 double,申明 float 后面加'f'或'F'。

类型占用存储空间范围 / 精度
float4 B IEEE754±3.4 × 1038(有效数字 6~7 位)
double8 B IEEE754±1.8 × 10308(有效数字 15~16 位)JVM 默认浮点类型 0.1 → double

3.布尔类型

类型占用存储空间范围 / 精度
boolean逻辑 1 bit(实际 JVM 实现 1B / 4B)只有 true / false 两值

4.字符类型

类型占用存储空间范围 / 精度
char2 B(UTF-16)\u0000 ~ \uFFFF(0~65535,Unicode BMP 平面,能存中文单个 '男'/'女')private char gender; 存性别;不能存 emoji 4 字节扩展区 → 用 String

二、数据库与 Java 实体类的对应关系

数据库Java范围
TINYINTbyte-128 ~ +127
SMALLINTshort-215 ~ 215 - 1
INTint-231 ~ 231 - 1
BIGINTlong-263 ~ 263 - 1
FLOATfloat
DOUBLEdouble
DECIMAL(M,D)BigDecimalDECIMAL(M,D) 的含义:

M:总位数(整数位 + 小数位),最大 65
D:小数位数,最大 30
数据库Java范围
VARCHAR(N)String
CHAR(N)String
TEXTString
DATELocalDate
TIMELocalTime
DATETIMELocalDateTime推荐,范围 1000-9999 年
TIMESTAMPLocalDateTime不推荐,2038 年溢出 + 自动时区转换
YEARInteger
数据库Java范围
BOOLEANBoolean
TINYINT(1)Boolean
编辑此页
上次更新: 2026/11/2 15:50
Prev
一、OOP 三大特性
Next
三、BigDecimal