高效使用变量需各司其职、适时出现、用完即止:控制作用域、明确意图、减少冗余;声明要“晚而准”,循环计数器写入for语句;善用var自动推导;慎用static;命名见名知意,布尔变量以is/has/can开头。

高效使用变量不是堆更多代码,而是让每个变量都“各司其职、适时出现、用完即止”。核心在于控制作用域、明确意图、减少冗余。
变量声明要“晚而准”
别在方法开头一股脑声明所有变量。等到真正需要时再声明,并立即初始化——这样读者一眼就能看出变量用途和初始状态。
- 循环计数器直接写在 for 语句里:for (int i = 0; i ,作用域天然受限
- 避免 String name; name = "张三"; 这种两步写法,优先用 String name = "张三";
- 如果初始化可能抛异常(比如读配置),就放在 try 块内声明,不污染外层作用域
类型选择要“够用且清晰”
用对类型,既是性能考虑,也是沟通成本问题。基本类型优先,引用类型按需引入。
- 存整数计数,用 int 而非 Integer(除非要放进集合或判 null)
- 表示状态开关,用 boolean isRunning,别用 int status = 1 加注释说明
- 数组声明统一用 int[] numbers 形式,把 [] 紧贴类型,语义更连贯
作用域要“小而专”
变量能缩在 if 里,就不放 if 外;能缩在 for 里,就不放 for 外。大作用域容易引发误用和命名冲突。
立即学习“Java免费学习笔记(深入)”;
- 处理字符串列表时,用 for (String item : list),变量 item 只活在本轮循环中
- Java 20+ 支持模式匹配,遍历混合类型集合可直接绑定变量:if (obj instanceof String str && str.length() > 3),str 自动推导为 String 类型,无需强转
- 类中慎用 static 变量模拟“全局”,真需要共享状态,优先考虑依赖注入或参数传递
命名要“见名知意,不靠注释”
变量名是代码的第一份文档。不用缩写,不拼错,不模糊。
- 用 userEmail,不用 ue 或 str1
- 布尔变量以 is、has、can 开头,如 isValid、hasPermission
- 临时计算值也要有逻辑名,比如 totalPriceWithTax 比 temp 或 x 更安全



















