CodeGym /Java Blog /Toto sisi /Java 中的矩陣 - 二維數組
John Squirrels

San Francisco

# Java 中的矩陣 - 二維數組

## 什麼是 Java 中的矩陣/二維數組？

“矩陣是排列成固定數量的行和列的數字集合。” 通常這些是實數。一般來說，矩陣可以包含複數，但為了簡單起見，我們在這裡只使用整數。讓我們看看矩陣是什麼樣子的。這是一個具有 4 行和 4 列的矩陣的示例。

## 聲明並初始化一個二維數組

``````
public class Matrices {

public static void main(String[] args) {

// declare & initialize 2D arrays for int and string
int[][] matrix1 = new int[2][2];
int matrix2[][] = new int[2][3];

//the size of matrix3 will be 4x4
int[][] matrix3 = { { 3, 2, 1, 7 },
{ 9, 11, 5, 4 },
{ 6, 0, 13, 17 },
{ 7, 21, 14, 15 } };

String[][] matrix4 = new String[2][2];

//the size of matrix5 will be 2x3
// 3 cols because at max there are 3 columns
String[][] matrix5 = { { "a", "lion", "meo" },
{ "jaguar", "hunt" } };
}
}
``````

## 二維數組遍歷

``````
public class MatrixTraversal {
public static void main(String[] args) {

int[][] matrix = new int[4][4];
for (int i = 0; i < matrix.length; i++)
{
// length returns number of rows
System.out.print("row " + i + " : ");
for (int j = 0; j < matrix[i].length; j++)
{
// here length returns # of columns corresponding to current row
System.out.print("col " + j + "  ");
}
System.out.println();
}
}
}
``````

## 如何在 Java 中打印二維數組？

### 使用嵌套的“for”循環

``````
public class MatrixTraversal {

public static void printMatrix(int matrix[][])
{
for (int i = 0; i < matrix.length; i++)
{
// length returns number of rows
for (int j = 0; j < matrix[i].length; j++)
{
// here length returns number of columns corresponding to current row
// using tabs for equal spaces, looks better aligned
// matrix[i][j] will return each element placed at row ‘i',column 'j'
System.out.print( matrix[i][j]  + "\t");
}
System.out.println();
}
}

public static void main(String[] args) {

int[][] matrix = { { 3, 2, 1, 7 },
{ 9, 11, 5, 4 },
{ 6, 0, 13, 17 },
{ 7, 21, 14, 15 } };
printMatrix(matrix);
}
}
``````

3 2 1 7 9 11 5 4 6 0 13 17 7 21 14 15

### 使用“for-each”循環

``````
public class MatrixTraversal {

public static void printMatrix(int matrix[][]){
for (int [] row : matrix)
{
// traverses through number of rows
for (int element : row)
{
// 'element' has current element of row index
System.out.print( element  + "\t");
}
System.out.println();
}
}

public static void main(String[] args) {

int[][] matrix = {  { 3, 2, 1, 7 },
{ 9, 11, 5, 4 },
{ 6, 0, 13, 17 },
{ 7, 21, 14, 15 } };
printMatrix(matrix);
}
}
``````

3 2 1 7 9 11 5 4 6 0 13 17 7 21 14 15

### 使用“Arays.toString()”方法

Java 中的Arrays.toString()方法，將傳遞給它的每個參數轉換為單個數組，並使用其內置方法打印它。我們創建了一個虛擬的 String 2D 數組來玩。同樣的方法也適用於整數數組。我們鼓勵您在鍛煉時練習它。
``````
import java.util.Arrays;
public class MatrixTraversal {
public static void printMatrix(String matrix[][]){

for (String[] row : matrix) {
// convert each row to a String before printing
System.out.println(Arrays.toString(row));
}
}

public static void main(String[] args) {

String [][] matrix = {  { "Hi, I am Karen" },
{ "I'm new to Java"},
{ "I love swimming" },
{ "sometimes I play keyboard"} };
printMatrix(matrix);
}
}
``````

[嗨，我是凱倫] [我是 Java 的新手] [我喜歡游泳] [有時我會玩鍵盤]

## 結論

Java 中的二維數組是多維數組中最簡單的。到本文結束時，我們希望您不再害怕使用它們，而是準備好捲起袖子從事一些嚴肅的工作。您可以根據您的方便逐行運行所有這些示例代碼或調試。但最後，我們想（一如既往）建議技能來自良好的練習和耐心。希望您在 Java 二維數組方面有愉快的學習體驗。祝你好運！

TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION