type arrayName[]; // 或 type[] arrayName;
型別可為基本型別或參考型別。例:int intArray[];、Date dateArray[];
int intArray[] = {1,2,3,4};
String stringArray[] = {"abc", "How", "you"};
基本型別:
int intArray[];
intArray = new int[5]; // 配置 5 個 int 空間,預設 0
參考型別:需兩階段配置——先配置陣列參考空間,再逐一配置實際物件:
String stringArray[] = new String[3]; // 配置 3 個參考空間
stringArray[0] = new String("How");
stringArray[1] = new String("are");
stringArray[2] = new String("you");
存取:arrayName[index],索引從 0 起。arrayName.length 取得長度。
Java 將多維陣列視為陣列的陣列,記憶體不連續配置,故不要求每一維大小相同(支援不規則陣列)。
type arrayName[][]; // 或 type[][] arrayName;
int intArray[][] = {{1,2}, {2,3}, {3,4,5}}; // 第三行長度為 3,前兩行為 2
一次配置固定大小:
int a[][] = new int[2][3]; // 2 行 3 列
分階段配置(不規則陣列):
int a[][] = new int[2][];
a[0] = new int[3];
a[1] = new int[5];
參考型別二維陣列:必須先配置最高維參考空間,再依序配置低維,最後逐一配置每個元素物件:
String s[][] = new String[2][];
s[0] = new String[2];
s[1] = new String[2];
s[0][0] = new String("Good");
s[0][1] = new String("Luck");
s[1][0] = new String("to");
s[1][1] = new String("You");
arrayName[index1][index2],例:num[1][0]。
public class MatrixMultiply {
public static void main(String[] args) {
int a[][] = new int[2][3];
int b[][] = {{1,5,2,8}, {5,9,10,-3}, {2,7,-5,-18}};
int c[][] = new int[2][4];
// 初始化矩陣 A
for (int i=0; i<2; i++)
for (int j=0; j<3; j++)
a[i][j] = (i+1)*(j+2);
// 矩陣乘法 C = A x B
for (int i=0; i<2; i++) {
for (int j=0; j<4; j++) {
c[i][j] = 0;
for (int k=0; k<3; k++)
c[i][j] += a[i][k] * b[k][j];
}
}
// 輸出結果
System.out.println("******* Matrix C ********");
for (int i=0; i<2; i++) {
for (int j=0; j<4; j++)
System.out.print(c[i][j] + " ");
System.out.println();
}
}
}
輸出結果為 2x4 矩陣 C。此例展示二維陣列在數值計算中的典型應用。