二维数组的定义
二维数组即是数组的数组,二维数组的本质也是一维数组,只不过是这个一维数组里的每一个元素是又是一个一维数组
第一种定义格式
数据类型[][] 数组名 = new 数据类型[包含的一维数组的个数][每个一维数组的长度];
如:
int[][] arr = new int[3][5];
—定义了一个整型的二维数组,其中包含3个一维数组,每个一维数组可以存储5个整数
赋值和取值:
arr[0]—下标为0的位置上的一维数组
arr[1][3]—如果要获取具体的元素需要两个下标
注意知识点:定义一个一维数组,没有赋初始值的定义方式,必须指定这个数组的长度,但是到了二维数组,里边的元素数组的长度我们在定义的时候可以不明确指定是可以的:
int[][] arr = new int[3][]; ----表示一个包含了三个整型的一维数组的二维数组,里边的充当元素的数值长度是可变的
第二种定义格式:当然也可以在定义二维数组的同时赋予初始值:
数据类型[][] 数组名 = {{元素},{元素1, 元素2},……};
int[][] arr = {{2,5},{1},{3,2,4},{1,7,5,9}};
int [ ] [ ] arr = new int [5][6];
第一个中括号表示的是行
第二个中括号表示的是列
数组的默认值: 0
静态定义二维数组
int [ ][ ] arr = new int [ ] [ ] {
{1},
{1,2},
{1,2,3},
{1,2,3,4},
{1,2,3,4,5},
}int [ ] [ ] arr = new int [ 5 ] [ ];
System.out.println(arr.length);
二维数组的遍历
外层for循环控制外层一维数组的长度,内层for循环控制内层一维数组的长度。
int[][] nums={{1,2},{3,4,5},{6,7,8,9}};
for (int i = 0; i < nums.length ; i++) {
for (int j = 0;j < nums[i].length; j++){
System.out.print(nums[i][i]);
}
//换行
System.out.println();
}