Java变量声明必须明确类型,仅局部变量可用var且需初始化;成员变量有默认值,局部变量必须显式赋值,否则编译报错。
Java中变量声明必须明确类型,不能省略;没有类型推导(var仅限局部变量且有严格限制)。
Java是静态类型语言,每个变量在使用前必须声明类型。基本写法为:类型 变量名;,例如 int count;、String name;。
int、boolean、ArrayList
)0、false、null),但局部变量必须显式赋值才能使用,否则编译报错 variable might not have been initialized
var 的条件和陷阱var 是 Java 10 引入的局部变量类型推断机制,但它不是动态类型,也不适用于所有场景。
var list = new ArrayList(); —— 编译器靠右边表达式推断出 ArrayList
var x; 或 var y = null;,会编译失败:找不到合适的类型var s = "hello"; 推出的是 String,不是 Object
成员变量(类字段)和局部变量(方法内定义)在生命周期、作用域和初始化要求上差异极大。
int→0,boolean→false,引用类型→null
if 块里声明了也必须确保所有执行路径都赋值,否则编译报错最容易被忽略的是局部变量未初始化就参与运算或返回——这不是运行时异常,而是编译直接拒绝,IDE 通常高亮但新手常误以为是逻辑问题而非语法硬约束。