黑马程序员技术交流社区

标题: 二维数组释义 [打印本页]

作者: liyudong    时间: 2016-11-4 20:45
标题: 二维数组释义
5.
class Demo {
        public static void main(String[] args) {
                int[][] arr = new int[4][];
int num = 1;
for (int i=0; i<arr.length; i++) {
arr[i] = new int[i+1];
for (int j=0; j<arr[i].length; j++) {
arr[i][j] = num++;
System.out.print(arr[i][j]);
}
System.out.println();
}
        }
}
答案:1
      23
      456
      78910
谁能解释下这段代码什么意思?


作者: cobblerime    时间: 2016-11-4 22:36
将arr[i]=new int[i+1]; 理解为二维数组arr的一维i号角标数组设置为i+1个。相当于逐层定义二维数组。后面应该好了。arr[0]的二维数组有一个元素,即new arr[1][1]。arr[1]的二维数组有两个元素即new arr[2][2]............类推
作者: liyudong    时间: 2016-11-5 22:40
cobblerime 发表于 2016-11-4 22:36
将arr=new int; 理解为二维数组arr的一维i号角标数组设置为i+1个。相当于逐层定义二维数组。后面应该好了。 ...

谢谢,谢谢,非常感谢,昨天不明白今天明白了

作者: liyudong    时间: 2016-11-6 12:56
cobblerime 发表于 2016-11-4 22:36
将arr=new int; 理解为二维数组arr的一维i号角标数组设置为i+1个。相当于逐层定义二维数组。后面应该好了。 ...

还是你解释得好,thanks,今天已理解





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2