【发布时间】:2015-12-06 11:03:28
【问题描述】:
我想知道哪一个在内存分配方面更好。我知道在这个规模上这些不会有任何不同,因为创建一个变量会占用很少的内存,但我想习惯于为未来编写更好的方式。
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 循环再次运行时将被覆盖的位置?
我还应该声明,变量 age 不会在其他任何地方使用,而是在 for 循环内。
谢谢。
【问题讨论】: