在循环内部或外部初始化变量时的Java性能?

时间:2018-01-10 09:53:23

标签: java loops variables

我想知道,从内存使用,性能和干净代码的角度来看,在循环内部或外部初始化变量是否更好。 例如,下面我在for循环中使用变量myInt显示两个选项。

哪个选项更好? 我有一个直觉,哪个选项可以做什么,但我想要一个真正的" Java"澄清哪个选项更适合1)性能,2)内存和3)更好的代码风格。

选项1:

int myInt = 0;
for (int i =0; i<100; i++){
   some manipulation here with myInt
}

选项2:

for (int i =0; i<100; i++){
   int myInt = 0;
   some manipulation here with myInt
}

3 个答案:

答案 0 :(得分:2)

如果你想在for循环中使用myInt,那么Option2会更好。 你想在循环之外使用它Option1更好。 在最小范围内使用变量是更好的选择。

答案 1 :(得分:2)

变量应始终*在本地声明为posible。如果仅在循环内使用整数,则应在循环内声明它。

*总是 - 除非你有一个非常好且证明不

的理由

答案 2 :(得分:0)

嗯,这两个选项提供了两种不同的用例:

Option2中myInt的值将在每次循环迭代时重置,因为它的范围仅在循环内。

如果你想在循环中使用myInt,并在循环之后对它做一些事情,那么选项1就是要走的路。

我个人不关心内存或性能,请使用您需要的范围。