在 Java 中初始化 2D 陣列

Rupam Yadav 2023年10月12日
  1. 在 Java 中使用 new 關鍵字和 for 迴圈初始化二維陣列
  2. 在 Java 中不使用初始化器初始化 2D 陣列
在 Java 中初始化 2D 陣列

在本文中,我們將學習如何在 Java 中初始化一個二維陣列。二維陣列是一個一維陣列。二維陣列中的元素以矩陣的形式按行和列排列。

在 Java 中使用 new 關鍵字和 for 迴圈初始化二維陣列

在下面的程式碼中,我們有一個 char 陣列 - table,是用 new 關鍵字宣告的。2 維陣列 table 有 3 行 3 列。

如果沒有提供值,陣列中的所有元素都有其預設值。在 int 型別的二維陣列中,預設值 0 被分配給每個元素。由於我們有一個 char 型別的二維陣列,預設值將是 null - \0

為了迭代一個二維陣列的每個元素,我們需要使用巢狀的 for 迴圈。我們可以將 table 視覺化為 3 個長度為 3 的獨立陣列,表示式 table[row].length 表示列數,本例中為 3。

表示式'1' + row * 3 + col,其中行和列在 0 和 2 之間變化,我們得到一個從 1 到 9 的字元。這種方法只適用於行和列長度為 3 的這種情況。

之後,我們將二維陣列的值以矩陣形式列印出來,如下所示。

public class Array {
  public static void main(String[] args) {
    char[][] table = new char[3][3];
    for (int row = 0; row < table.length; row++) {
      for (int col = 0; col < table[row].length; col++) {
        table[row][col] = (char) ('1' + row * 3 + col);
      }
    }

    for (int row1 = 0; row1 < table.length; row1++) {
      for (int col1 = 0; col1 < table[row1].length; col1++)
        System.out.print(table[row1][col1] + " ");
      System.out.println();
    }
  }
}

輸出:

1 2 3 
4 5 6 
7 8 9 

在 Java 中不使用初始化器初始化 2D 陣列

在 Java 中宣告和初始化一個二維陣列最常用的方法是使用一個陣列初始化器的快捷語法。這裡使用 {{1,2,3},{4,5,6},{7,8,9}},我們將每一行的初始化列表用自己的一組括號括起來。

上面的表示式描述了我們有一個 2 維陣列,有 3 行 3 列。這樣,我們用一行程式碼就宣告並初始化了一個 2 維陣列。然後使用巢狀的 for 迴圈列印二維陣列,如下圖所示。

public class Array {
  public static void main(String[] args) {
    int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    for (int row = 0; row < 3; row++) {
      for (int col = 0; col < 3; col++) System.out.print(arr[row][col] + " ");
      System.out.println();
    }
  }
}

輸出:

1 2 3 
4 5 6 
7 8 9 
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相關文章 - Java Array