基本的2D数组理解

时间:2015-05-13 06:04:48

标签: java arrays 2d

我试图理解为什么下面的Java代码正常工作。我在缠绕头部时遇到的主要问题是将2d数组作为参数,因此在a[0][0]处给出下面的测试示例时,int存储的是什么?

我还有点困惑,为什么我不需要首先定义数组然后创建它,然后用参数填充它。

public class Test {
    // returns the largest element in a 
    // e.g. max({{1, 3}, {7, -2, 0}, {4, 4}}) = 7
    public static int max(int[][] a) {
        int max = a[0][0];
        for (int[] r : a)
            for (int x : r)
                max = Math.max(max, x);
        return max;
    }
}

1 个答案:

答案 0 :(得分:0)

  1. max将等于1(第一个数组为{1,3},该数组中的第一项为1)。这样做的原因是您需要第一项进行比较,并且对最小值没有限制。

  2. 由于数组是作为函数中的参数给出的,因此调用该函数的代码将填充该数组。