首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

詳解 Java 一維與多維陣列:定義、初始化、記憶體模型與矩陣乘法實例

     編輯:Java 相關知識

一、一維陣列

1. 定義語法

type arrayName[];  // 或 type[] arrayName;

型別可為基本型別或參考型別。例:int intArray[];、Date dateArray[];

2. 初始化

(1)靜態初始化

int intArray[] = {1,2,3,4};
String stringArray[] = {"abc", "How", "you"};

(2)動態初始化

基本型別:

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");

3. 元素存取與 length 屬性

存取:arrayName[index],索引從 0 起。arrayName.length 取得長度。

二、多維陣列(以二維為主)

Java 將多維陣列視為陣列的陣列,記憶體不連續配置,故不要求每一維大小相同(支援不規則陣列)。

1. 定義語法

type arrayName[][];  // 或 type[][] arrayName;

2. 初始化

(1)靜態初始化

int intArray[][] = {{1,2}, {2,3}, {3,4,5}}; // 第三行長度為 3,前兩行為 2

(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");

3. 元素存取

arrayName[index1][index2],例:num[1][0]。

4. 實例:兩個矩陣相乘

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。此例展示二維陣列在數值計算中的典型應用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved