前言初学变量最容易遇到的报错局部变量未初始化。 很多新手分不清为什么有的变量不赋值能用有的变量不赋值直接报错核心原因局部变量 和 成员变量 初始化规则完全不同。一、两种变量定义1. 成员变量全局变量定义在类中、方法外的变量java运行public class Test{ int num; // 成员变量 }2. 局部变量定义在方法内部、代码块内部的变量java运行public void test(){ int a; // 局部变量 }二、初始化规则必考核心1. 成员变量系统自动默认初始化不赋值也有默认值不会报错int → 0double → 0.0boolean → false引用类型 → null2. 局部变量必须手动初始化系统不会自动赋值使用前未赋值直接编译报错报错示例java运行public static void main(String[] args) { int a; System.out.println(a); // 报错尚未初始化 }三、新手高频踩坑场景if 判断内赋值外部调用报错java运行int a; if(true){ a 10; } System.out.println(a); // 部分编译器判定可能未赋值循环内赋值外部使用报错四、最佳编码规范局部变量定义即赋值尽量少依赖成员变量默认值变量作用域尽量缩小优先使用局部变量结语一句话记住区别成员变量系统兜底局部变量必须自己赋值。