java中8种基本数据类型作为类成员变量时有默认值:整型(byte/short/int/long)为0,浮点型(float/double)为0.0f/0.0d,char为'\u0000',boolean为false;局部变量无默认值,未初始化即报错。

Java 中 8 种基本数据类型在作为类的成员变量(即字段)声明但未显式初始化时,会被 JVM 自动赋予确定的默认值。这个特性只适用于类成员变量,不适用于局部变量——后者必须显式赋值才能使用,否则编译报错。
整型默认值都是 0
包括 byte、short、int、long 四种整数类型,无论位宽大小,只要没赋值,系统就填 0:
- byte 和 short:默认为数值 0(不是 0L 或 0.0)
- int:最常用,默认就是 0
- long:默认值写作 0L,表示 long 类型的零;虽然数值上等于 0,但类型标记很重要,尤其在涉及字面量推断时
浮点型默认值是 0.0f 和 0.0d
float 和 double 的默认值有明确类型后缀:
- float 默认为 0.0f(单精度零)
- double 默认为 0.0d(双精度零),也可简写为 0.0,因为 double 是浮点数的默认类型
字符型默认是 '\u0000'
char 的默认值是 Unicode 码点为 0 的空字符,即 '\u0000'。它不是空格(' ')、不是 null,也不等同于字符串 "",而是一个真实存在的、不可见的控制字符。
布尔型默认是 false
boolean 只有两个取值:true 和 false,其默认值严格为 false。注意它和数字 0、null 或 "" 没有等价关系,不能参与算术或字符串隐式转换。
提醒:以上默认值仅对类的成员变量生效;方法内的局部变量若未初始化就访问,编译器会直接报错,不会给默认值。Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











