前言
数组的动态初始化
动态初始化
1)使用方法1
语法:
类型[ ] [ ] 数组名 = new 类型 [大小] [大小];
例如: int a[ ] [ ] = new int [2] [3];
演示:
publicclassTwoDimensionalArray02 { publicstaticvoidmain(String[] args) { int[][] arr=newint[2][3]; arr[1][1] =8; // 将arr[1][1]改为 8//遍历数组for( inti=0; i<arr.length; i++) { for( intj=0; j<arr[i].length ; j++) { System.out.print(arr[i][j] +" "); } System.out.println();// 换行 } } }
注意:未赋值的情况下int类型的默认值为 0
2)使用方法2
语法:先声明,再定义
类型[ ] [ ] 数组名;
数组名 = new 类型[大小] [大小];
例如:int[ ] [ ] arr;
arr = new int[2] [3];
3)使用方法3
动态初始化—列数不确定
案例:
动态创建下面的二维数组
j = 0 | j = 1 | j = 2 | |
i = 0 | 1 | ||
i = 1 | 2 | 2 | |
i = 2 | 3 | 3 | 3 |
演示:
publicclassTwoDimensionalArray03 { publicstaticvoidmain(String[] args) { int[][] arr=newint[3][]; // 创建 二维数组,一共有三个一维数组,但是每个一维数组都还没有开空间for(inti=0 ; i<arr.length ; i++) { // 遍历每个一维数组// 给每一个一维数组开空间 new// 如果没有给一维数组 new 开空间。 那么 arr[i] 就是 nullarr[i] =newint[i+1]; //遍历一维数组,并给每个一维数组元素 赋值for(intj=0 ; j<arr[i].length ; j++) { arr[i][j] =i+1;// 赋值 } } // 遍历arr并输出for(inti=0; i<arr.length ; i++) { for(intj=0; j<arr[i].length; j++) { System.out.print(arr[i][j] +" "); } System.out.println(); } } }
(3)静态初始化
语法:
类型[ ] [ ] 数组名 = {{值1, 值2} , {值1, 值2} , {值1, 值2}};
例如:int[ ] [ ] arr = {{1, 2, 3} , {4, 5, 6} , {7, 8, 9}};
(4)使用细节
1)二维数组的声明方式有:
int[ ] [ ] arr 或 int arr[ ] [ ]
2)二维数组实际上是由多个一维数组组成的,它的各个一维数组长度可以相同,也可以不同。