Java多维数组的初始化方式与C++不同,其数组可以变长以及动态初始化。
1.一维数组
1.1声明
int array1[];
int []array1;
1.2初始化
a.直接初始化
int array1[] = {2,2,3,4};
String array1[]={"hello","world"};
b.动态初始化
int array1[] = new int[3];
array1[0] = 1;
array1[1] = 2;
array1[2] = 3;
String array1[];
String array1 = new String[3];
array1[0] = new String("Hello");
array1[1] = new String("World");
array1[2] = new String("!");
2.二维数组的初始化
2.1声明
int array2[][];
int [][]array2;
这两种只是形式上不同,效果和意义是一样的。
2.2初始化
a.静态初始化
int array2[][] = {{1,2,3},{4,5},{6}};
b.动态初始化
直接分配空间,等长空间
int array2[][] = new int[2][3];
分别为各个维度分配空间,不等长空间
int array2[][];
array2 = new int[2][];//最高维度初始化
array2[0] = new int[2];//可容纳最多2个元素
array2[0][0] = 2;
array2[0][1] = 2;
array2[1] = new int[3]; //可容纳最多3个元素
array2[1][0] = 3;
array2[1][1] = 2;
array2[1][2] = 3;
3.三维数组的初始化
3.1声明
int[][][] array3;
int array3[][][];
3.2初始化
a.静态初始化
int array3[][][] ={{{1},{2,3}},{{4}}}
b.动态初始化
使用循环赋值
int array3 = new int[2][][];//最高维度
for(int i=0;i<array3.length;i++)
{
array3[i] = new int[3][];//次高纬度大小
for(int j =0;j<array3[i].length;j++)
array3[i][j] = new int[5];//最低维度大小
for(int k=0;k<array3[i][j].length;k++)
array3[i][j][k] = k;//每个元素赋值
}