Java——二维数组
一、概念
二维数组也是一种容器,不同于一维数组,该容器存储的都是一维数组容器。
二、定义格式
1.数据类型[ ] [ ] 变量名;
2.数据类型 变量名 [ ] [ ];
3.数据类型 [ ] 变量名 [ ];
三、动态初始化
(一)书写
1.格式
数据类型 [ ] [ ] 变量名 = new 数据类型 [m] [n];
#m表示这个二维数组可存放一维数组的个数
#n表示每一个一维数组可存放元素的个数
2.举例
public class Text1 {public static void main(String[] args) {int [][] a= new int[2][2];a[0][0]=1;a[0][1]=2;a[1][0]=3;a[1][1]=4;for (int i = 0; i < 2; i++) {for (int j = 0; j < 2; j++) {System.out.print(a[i][j]+" ");}}}
}
//结果
//1 2 3 4
(二)注意
1.可以将提前建好的一维数组存入二维数组。
①格式
二维数组名 [ 一维数组下标 ] = 一维数组名;
②举例
public class Text1 {public static void main(String[] args) {int [][] a= new int[2][2];int [] arr1 = {11,22};int [] arr2 = {44,55};a[0]=arr1;a[1]=arr2;System.out.println(a[0][1]);}
}
//结果
//22
2.提前建立的一维数组的元素个数可以超过二维数组所规定的个数。
①但使用"二维数组名 [ ] [ ] = 数值"的格式就不能超过二维数组规定的个数,否则报错。
②举例
public class Text1 {public static void main(String[] args) {int [][] a= new int[2][2];int [] arr1 = {11,22};int [] arr2 = {44,55,99};a[0]=arr1;a[1]=arr2;System.out.println(a[1][2]);a[0][2]=99;System.out.println(a[0][2]);}
}
//结果
//99
//报错:Index 2 out of bounds for length 2
四、二维数组静态初始化
(一)书写
1.格式
①数据类型 [ ][ ] 变量名 = new 数据类型[ ][ ] { {元素1,元素2...} , {元素1,元素2...}...}};
②数据类型 [ ][ ] 变量名 = { {元素1,元素2...} , {元素1,元素2...}...};
2.举例
public class Text1 {public static void main(String[] args) {int [][] a = new int[][] {{22,33},{44,55}};int [][] b = {{22,33},{44,55}};System.out.println(a[0][1]);System.out.println(b[0][1]);}
}
//结果
//33
//33
(二)注意
1.可以将提前建好的一维数组存入二维数组。
①格式
二维数组的类型 [ ][ ] 变量名 = {一维数组变量名1,一维数组变量名2};
②举例
public class Text1 {public static void main(String[] args) {int [] arr1 = {22,33};int [] arr2 = {44,55};int [][] a = new int[][] {arr1,arr2};System.out.println(a[0][1]);}
}
//结果
//33