二维数组:
二维数组,指的是以数组作为元素的数组。可以将其看做为一个矩阵,定义方式为与一维数组定义方式大体相似,都分为静态初始化和动态初始化:
数据类型[][] 数组名 = new 数据类型[行数][列数];
数据类型[][] 数组名 = {
{" ”, " ", " "},
{" ", " ", " "}
};
数据类型[][] 数组名 = new 数据类型[][]{{" "," ", " "},{" "," "," "}};
二维数组的访问也是通过下标进行访问,第一个参数指代数组的行数,第二个参数指代数组的列数,这跟数学上的用坐标系来指定位置是一样的。如需要访问数组arr的第二行第三列则可以这样进行访问:
int[][] arr = {
{0,1,2},
{3,4,5},
{6,7,8}
};
System.out.println(arr[1][2]);
对于二维数组的遍历也跟一维数组类似,只不过需要使用到双重循环进行遍历
/*
* 二维数组时指存放数组的数组,所以外层循环遍历的是二维数组中的一维数组
* 内层循环是对一维数组中存放的数据进行遍历
*/
for(int i[] : arr) {
for (int j : i) {
System.out.println(j);
}
}
这里画个图解释一下二维数组
这里要注意,创建的数组虽然有时存储的数据类型是基本数据类型,但是数组时通过数组对象创建的是属于引用类型,因此开辟的空间是在堆空间当中。