java - 在循环之前或循环中声明变量之间的区别?

我一直想知道,一般来说,在循环之前声明一个丢弃变量,而不是在循环内重复声明,是否会产生任何(性能)​​差异? Java中的一个(非常没有意义)示例:

a) 循环前声明:

double intermediateResult;
for(int i=0; i < 1000; i++){
    intermediateResult = i;
    System.out.println(intermediateResult);
}

b) 声明(重复)在循环内:

for(int i=0; i < 1000; i++){
    double intermediateResult = i;
    System.out.println(intermediateResult);
}

a 还是 b 哪个更好?

我怀疑重复的变量声明(例如 b)会产生更多的开销理论上,但编译器足够聪明,所以这并不重要。示例 b 的优点是更紧凑,并将变量的范围限制在使用它的位置。尽管如此,我还是倾向于根据示例 a 编写代码。

编辑:我对 Java 案例特别感兴趣。

最佳答案

a 还是 b 哪个更好?

从性能的角度来看,您必须对其进行衡量。 (在我看来,如果你能测量出差异,编译器就不是很好)。

从维护的角度来看,b 更好。在尽可能窄的范围内,在同一个地方声明和初始化变量。不要在声明和初始化之间留下空隙,也不要污染你不需要的命名空间。

https://stackoverflow.com/questions/407255/

相关文章:

java - 使用 appcompat v7 更改 EditText 底线颜色

java - 如何在 Java 中获取用户输入?

java - Java中的静态 block

java - Java 中最接近函数指针的替代品是什么?

java - 在 Java 中检查字符串是否为空或 null

Java - 通过 POST 方法轻松发送 HTTP 参数

java - 当 Javadoc 标记不完整时,Maven 无法在 Java 8 中运行

java - 单击两次后退按钮以退出 Activity

java - 将 Java 连接到 MySQL 数据库

java - 使模板更容易的 JSP 技巧?