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

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

a)循环前声明:

双中间结果;
对于(int i=0;i<1000;i++){
中间结果=i;
系统输出打印项次(中间结果);
}

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

用于(int i=0;i<1000;i++){
双中间结果=i;
系统输出打印项次(中间结果);
}

哪个更好,a还是b

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

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

a和b哪个更好

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

从维护角度来看,b更好。在尽可能狭窄的范围内,在同一位置声明和初始化变量。不要在声明和初始化之间留下缺口,也不要污染不需要的名称空间

发表评论