Java陣列的宣告與初始化
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;//每個元素賦值
}