java - 这个 for 循环如何知道这个数组数据结构从一开始有多长?

标签 java arrays for-loop data-structures final

我试图弄清楚数组如何知道 for 循环中第一次运行 System.out.println 时总共有 15 个索引,以及它从哪里知道它的确切位置。

当for循环仍在执行时,它似乎知道索引的总数,并且我认为一旦创建了数组,就无法更改它。数组在构造时是否处于临时状态,或者答案比我所做的简单得多?

我正在猜测可能的答案,但我不确定。请帮忙!预先感谢您。

我使用此代码的唯一目的是与用于创建它的代码相比,评估底部的结果输出,并确定此特定的 for 循环如何构造数组。

import java.util.Arrays;

public class DataStructureMain {

    public static void main(String[] args) {

        class DataStructure {

            //Create an array
            private final static int SIZE = 15;
            private int[] anArrayOfInts = new int[SIZE];

            public DataStructure() {

                //Fill the array with ascending integer values
                for (int i = 0; i < SIZE; i++) {
                    anArrayOfInts[i] = i;
                    //I put this next line in here to see how the code 
                    //executes each run of the for-loop
                    System.out.println(Arrays.toString(anArrayOfInts));
                }
            }
        }

        //
        //
        DataStructure dS = new DataStructure();

    }

}

产生这个:

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0] [0, 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0] [0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0, 0, 0] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

最佳答案

你设置
SIZE = 15;
然后你使用相同的变量来构造数组
private int[] anArrayOfInts = new int[SIZE];
一旦创建,其大小就固定了。
然后使用相同的变量来限制迭代次数
for (int i = 0; i < SIZE; i++)

或者您可以使用:
for (int i = 0; i < anArrayOfInts.length ; i++)
这会给你相同的结果。

关于java - 这个 for 循环如何知道这个数组数据结构从一开始有多长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39261871/

相关文章:

java - 使用泛型制作交换方法

java - OWL API - 创建没有实例的类

java - Java中的两种for循环

html - Thymeleaf:如何以相反的顺序遍历列表?

c# - 根据前缀对目录中的文件进行分组

java - 企业应用程序 build-impl.xml 抛出错误

java - 我正在尝试使用包含 java 扫描器的 if/else 语句来创建用户名和密码应用程序

Javascript:根据每个数组的长度数字对数组进行排序

javascript - JS-textarea行到javascript数组

c - 从文件中读取数据到数组中