对于使用二维数组的每个循环

新手上路,请多包涵

这是 Java 代码片段:

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

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

在 uu 你引用 2D 数组……那不是作业。我正在准备 Java 认证。干杯

原文由 uml 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 470
2 个回答

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

因此,您的外部循环具有 int[] 作为类型,因此具有该声明。如果您在另一个内部循环中迭代 u ,您将获得类型 int :-

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

原文由 Rohit Jain 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是因为 uuint[] 数组的数组。所以其中的每一项都是 int[] 。在 for 循环中,您在迭代的数组中声明项目的类型。

原文由 ShyJ 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题