java - 使用 for 循环时何时声明变量?

标签 java variables for-loop

我想知道哪一个在内存分配方面更好。我知道在这种规模上,这些不会有任何不同,因为创建变量只需要很少的内存,但我想习惯以更好的方式为 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/

相关文章:

c - 将 float 与大数相乘只需将数字附加在一起

javascript - 创建多个唯一的数组 jQuery

Java QName 前缀不起作用

Java - 如何从不同的项目调用类?

java - 从 Android 中的用户触摸事件中播种 SecureRandom

java - 在 Postgres 中为特定查询设置 work_mem

C++ 通过引用将一个变量与另外两个变量联系起来

python - Tkinter 不允许我使用变量来定义窗口大小

Java在for循环外声明迭代器

c++ - C++ for循环更新表达式中的赋值表达式