多维数组和高级for循环

时间:2014-01-03 19:32:23

标签: java

假设您有以下代码,循环内部有一个循环:

int[][] practice = new int[10][10];

for(int x[] : practice){
    for(int y : x){

    }
}

首先,int x[]部分是什么意思。 []做了什么?我确定第二个for循环是正确的。因为y遍历x[]的当前行。但有人可以解释这些括号的含义吗?如果这个循环不正确,请更正它。

5 个答案:

答案 0 :(得分:1)

int x[]相当于int[] x:它声明了一个名为x的变量,其类型为int[],即int的数组。

因此,外部循环遍历int practice数组数组中的每个int数组。

答案 1 :(得分:1)

int x[] - 一个名为x的整数数组。

2d数组只是一个数组数组,因此这里的foreach循环说:“对于practice中包含的每1个二维整数数组,临时存储引用该数组为x做任何事情活动包含在大括号中。“

答案 2 :(得分:1)

您指的是数组数组;

首先for循环获取数组(x)的数组(practice)。

第二个for循环为数组(y)或数组(x)提供元素(practice)。

答案 3 :(得分:0)

有时重命名变量确实可以增加代码的可读性,希望这有助于:

public static void main(String[] args) {
    int[][] arrayOfArrays = new int[10][10];

    for (int[] outerArrayElement: arrayOfArrays) {
            //outerArrayElement is an int[]
        for (int innerArrayElement : outerArrayElement) {
               //innerArrayElement is an int
        }
    }
}

答案 4 :(得分:0)

在这里你要创建二维数组“练习”,然后你在它上面迭代从它获得一维数组,然后你在一维数组“x”上迭代以从中获取元素。