我想知道哪一个在内存分配方面更好。我知道在这种规模上,这些不会有任何不同,因为创建变量只需要很少的内存,但我想习惯以更好的方式为 future 编码。
public static void test(Scanner input, int[] arr){
for (int i = 0; i < 5; i++){
int age = input.nextInt();
arr[i] = age;
}
或
public static void test(Scanner input, int[] arr){
int age = null;
for (int i = 0; i < 5; i++){
age = input.nextInt();
arr[i] = age;
}
}
在 for 循环之前声明变量只会在内存中为我设置的所有值分配一个位置,对吗?但是,如果我在 for 循环中声明变量,内存中是否会分配 5 个不同的位置,还是在 for 循环再次运行时仅覆盖一个位置?
我还应该声明,除了在 for 循环内之外,变量age 不会在其他任何地方使用。
谢谢。
最佳答案
不应该有任何区别,所以我的建议是将其限制在所需的范围内(即选项 1) - 而且 intage = null;
有点误导 - 让你读起来像是一个指针,即使它不是。 int Age = 0;
会更清楚一点。
关于java - 使用 for 循环时何时声明变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34116675/