二维数组
二维数组是数组的数组,二维数组的元素又一个个一维数组组成。
int[][] arr= {
{1,2},{3,4,5},{6,7,8,9}};
arr就是由{1,2},{3,4,5},{6,7,8,9}三个一维数组组成的二维数组
二维数组的定义
数据类型[][] 数组名=new 数据类型[一维数组的个数] |一维数组中元素的个数];
int[][] arr=new int[2][3];
arr数组中存储了2个一维数组
第1个一维数组 arr[0] //长度为2
第2个一维数组 arr[1] //长度为3
数组索引
int[][] arr= {
{1,2},{3,4,5},{6,7,8,9}};
数组名[索引号][索引号]
arr[0][1] = 2;
arr[1][2] = 5 ;
数组的静态初始化
已经知道数组中存储元素值的时候,可以使用静态初始化创建二维数组
数据类型[][] 数组名 ={ {值1,值2} ,{值1,值2,值3},{值1},…};
int[][] arr= {
{1,2},{3,4,5},{6,7,8,9}};
二维数组arr,定义3个一维数组分别为: {1,2}, {3,4,5}, {6,7,8,9}
动态初始化
数据类型[][] 数组名= new 数据类型[m][n];
m代表有多少个1维数组,n代表每一个一维数组的元素的个数
int[][] arr = new int[2][3];
定义一个2*3的二维数组(矩阵),即 二维数组的长度为2, 其中有2个一维数组,分别为 arr[0] ,arr[1]。
int len= arr.length;
每一个一维数组的元素的个数为3个 我们可以通过 arr[行的索引][列的索引]来访问二维数组的值
arr[0][1]=2;
arr[1][2]=4;
只指定行
数据类型[][] 数组名 = new 数据类型[m][];
只指定行(一维数组的个数) ,每一个一维数组元素的个数不确定 int[][] arr=new int[3][];
3代表有3个一维数组
arr[0] = new int[3]; //长度为3
arr[1] = new int[2]; //长度为2
arr[2] = new int[4]; //长度为4
每一个一维数组的长度不一样
遍历二维数组
for循环遍历
public static void main(String[] args){
int[][] arr = {
{
1,2},{
3,4,5},{
7,8,9,10}};
for(int i = 0; i <arr.length; i++){
for(int j = 0; j< arr[i].length;j++){
System.out.printf(arr[i][j]+"\t");
}
System.out.println();
}
}