二维数组
就是元素为一维数组的一个数组
m:表示这个二维数组有多少个一维数组
n :表示每一个一维数组的元素有多少个
b. 注意:
i. 其他格式:
1) 数据类型 数组名 [] []=new 数据类型[m][n]
2) 数据类型[] 数组名[] =new 数据类型[m][n]
ii. 不同定义的区别:
int x;
int y;
int x,y;
int [ ] x;
int [ ] y[ ];
int [ ]x,y[ ];
m:表示这个二维数组有多少个一维数组
列的个数未给出,可以动态赋值。
例:
数据类型 [ ] [ ] 数组名 = new 数据类型 [ ] [ ] {{元素1,元素2,…},{元素1,元素2,…},{……}};
数据类型 [ ] [ ] 数组名 = {{元素1,元素2,…},{元素1,元素2,…},{……}};
例:
就是元素为一维数组的一个数组
1. 格式_1:
a. 数据类型 [ ] [ ] 数组名 = new 数据类型 [m][n];m:表示这个二维数组有多少个一维数组
n :表示每一个一维数组的元素有多少个
b. 注意:
i. 其他格式:
1) 数据类型 数组名 [] []=new 数据类型[m][n]
2) 数据类型[] 数组名[] =new 数据类型[m][n]
ii. 不同定义的区别:
int x;
int y;
int x,y;
int [ ] x;
int [ ] y[ ];
int [ ]x,y[ ];
2. 格式_2:
a. 数据类型 [ ] [ ] 数组名 = new 数据类型 [m][ ];m:表示这个二维数组有多少个一维数组
列的个数未给出,可以动态赋值。
例:
public static void main(String[] args) {
//定义数组
int[][] a = new int[3][];
System.out.println(a); //[[I@175078b
System.out.println(a[0]); //null
System.out.println(a[1]); //null
System.out.println(a[2]); //null
//动态的为每一个一维数组分配空间
a[0] = new int[1];
a[1] = new int[2];
a[2] = new int[3];
System.out.println(arr[0]); //[I@42552c
System.out.println(arr[1]); //[I@e5bbd6
System.out.println(arr[2]); //[I@8ee016
System.out.println(arr[0][0]); //0
System.out.println(arr[0][1]); //0
//ArrayIndexOutOfBoundsException
//System.out.println(arr[0][2]); //错误
arr[1][0] = 100;
arr[1][2] = 200;
}
3. 格式_3:静态初始化
a. 基本格式:数据类型 [ ] [ ] 数组名 = new 数据类型 [ ] [ ] {{元素1,元素2,…},{元素1,元素2,…},{……}};
数据类型 [ ] [ ] 数组名 = {{元素1,元素2,…},{元素1,元素2,…},{……}};
例:
public static void main(String[] args) {
//定义一个二维数组:静态初始化
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}} ;
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[0][0]);//1
System.out.println(arr[1][0]); //4
System.out.println(arr[2][0]);//7
}