Java基本数据类型共8种,分四类:整数型(byte/short/int/long)、浮点型(float/double)、字符型(char)、布尔型(boolean);其值直接存储在栈内存,无GC开销,传参为值传递;需注意字面量后缀、默认值、精度陷阱及类型转换规范。

Java 基本数据类型是面试必问的起点,答得准、讲得清,能立刻建立专业可信度。核心就三点:种类必须脱口而出、内存行为要能说清、常见陷阱得避开。
8 种基本类型必须熟记分类和关键参数
不是死记硬背,而是按逻辑分组理解:
- 整数型(4种):byte(1字节,-128~127)、short(2字节,-32768~32767)、int(4字节,-2³¹~2³¹-1,默认整数类型)、long(8字节,-2⁶³~2⁶³-1,字面量需加 L)
- 浮点型(2种):float(4字节,精度6~7位,字面量加 F)、double(8字节,精度15~16位,默认小数类型)
- 字符型(1种):char(2字节,Unicode 编码,用单引号,如 '中')
- 布尔型(1种):boolean(JVM 未规定确切字节数,仅 true/false,不能与 int 互转)
内存分配是区分基本类型和引用类型的关键
这是高频延伸题的源头:
- 所有基本类型变量,值直接存在栈内存里,访问快、无 GC 开销
- 而 String、数组、自定义类这些引用类型,变量本身存的是堆中对象的地址(也是在栈里),真实数据在堆中
- 所以方法传参时,基本类型传的是值的副本,改它不影响原变量;引用类型传的是地址副本,改对象内容会影响原对象,但让参数指向新对象则不影响原引用
常考易错点:后缀、默认值、精度与转换
细节决定是否“懂行”:
立即学习“Java免费学习笔记(深入)”;
- long 写 10000000000 要加 L,否则编译报错(超出 int 范围)
- float 写 3.14 默认是 double,必须写成 3.14f,否则编译不通过
- char 默认值是 '\u0000'(空字符),不是 null;boolean 默认是 false
- float 和 double 存在精度丢失问题,比如 0.1f == 0.1 结果为 false,金融计算必须用 BigDecimal
- 基本类型转字符串推荐 String.valueOf(x),避免隐式拼接引发的空指针或类型混淆


















