java从头学04-3[二维数组]

来源:互联网 发布:注册分类网络平台 编辑:程序博客网 时间:2024/04/29 13:42

一、定义

int[][] arr = new int [2][4]

2行4列的数组


二、内存中的存放

栈中:arr存放一个指针,这个指针指向的是一个一维数组,包含元素为arr[0]、arr[1]、arr[2];以上三个元素分别指向堆中的三个不同位置,这个才是保存具体数据值的地方。即堆中堆为二位数组的存放并不是一个方表的形式,而是行数加1个表。

eg:以上定义中,打印arr,输出为二维数组在堆中的位置值,打印arr[0]、arr[1]、arr[2]、分别为每一行的首个元素的位置值。打印arr[0][0]等,打印的是元素。

但如下定义中:
int[][] arr = new int[3][]

打印arr[0],为null,因为arr[0]未初始化,并未指向一个具体的数组;打印arr.length,为3,即行数;打印arr[0].length ,为二维数组中第一个数组的长度。

三、初始化

int[][] arr = {{1,2,3},{2,3,1},{3,2,1}}





0 0