java基本数据类型直接存值、不占对象开销,选型关键在范围、内存与场景:整数优先int,大数用long,省空间用byte;小数禁用float/double存金额,改用bigdecimal;char表单字符,boolean仅用于逻辑判断;注意字面量后缀、类型转换风险及包装类陷阱。

Java基本数据类型直接存值、不占对象开销,用起来简单但选错类型容易埋坑。关键不是背名字,而是知道每种类型“能装多少”“该在哪儿用”“哪里不能碰”。
整数类型怎么选:看范围和内存
日常计数、数组下标、循环变量,用 int 就够了——4字节、范围够大、性能好,是默认首选。
- 处理文件、网络字节流或大量缓存数据时,优先考虑 byte(1字节),省空间也符合协议规范
- 需要超大整数,比如订单ID、毫秒级时间戳(System.currentTimeMillis()),必须用 long,别等溢出才改
- short 很少单独使用,多见于嵌入式通信或老协议字段,一般不用刻意选它
小数怎么存:精度和场景决定用 float 还是 double
double 是Java中小数的默认类型,8字节、15位有效数字,适合大多数计算场景,比如统计、坐标、物理模拟。
- 用 float(4字节)仅限对内存极度敏感且能接受约7位精度的场景,例如图形渲染中的顶点坐标批量处理
- 绝对不要用 float 或 double 存金额——它们无法精确表示0.1这类十进制小数,会导致累加误差;该用 BigDecimal 或按分为单位存 long
字符和真假值:别混淆、别强转
char 是2字节Unicode字符,用来存单个字母、数字或符号,比如 char c = 'A'; 或 char emoji = '\u1F600';。它不是字符串,也不能当int直接运算(除非明确做类型转换)。
boolean 只有两个值:true 和 false,只用于条件判断和状态标记。
- 它没有数值含义,不能转成 int,也不能和 0/1 混用
- 声明后未赋值的成员变量默认是
false,但局部变量必须显式初始化,否则编译报错
用法细节和常见陷阱
声明变量时,类型名小写,赋值要匹配——比如 float f = 3.14f; 必须加 f 后缀,否则会被当成 double 导致编译失败。
- 不同类型间赋值可能触发自动类型提升(如 byte → int),但范围大的往小的赋(如 long → int)必须强制转换,且有截断风险
- 所有基本类型都有对应的包装类(Integer、Boolean等),用于泛型、集合或空值表达,但要注意自动装箱/拆箱带来的 NullPointerException 和性能问题
- 基本类型变量存在栈上(局部变量)或对象内部(成员变量),生命周期清晰,没有GC负担
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











