对于使用 2D 数组的每个循环

2022-09-03 17:05:35

这是 Java 代码的片段:

int[][] uu = new int[1][1];
uu[0][0] = 5;
for(int[] u: uu){
    System.out.println(u[0]);
}

它打印 5。但是为什么 for 循环的声明部分是声明的,而不是声明的呢?as int[] uas int[][] u

在 uu 中,您引用了 2D 数组...这不是一个家庭作业。我正在为Java认证做准备。干杯


答案 1

由于您的是 .因此,当您迭代它时,您将首先获得一个 ,然后您可以迭代该数组以获取单个元素。uuarray of arrayarray

因此,您的外部循环具有 as 类型,因此具有该声明。如果你在另一个内部循环中循环迭代,你会得到类型:-int[]uint

for (int[] u: uu) {
    for (int elem: u) {
        // Your individual element
    }
}

答案 2

这是因为是数组的数组。所以它中的每一个项目都是.在循环中,在循环访问的数组中声明项的类型。uuint[]int[]for