CodeGym /Java 博客 /China /Java 中的矩阵 - 二维数组

Head of Developers Team at CodeGym

# 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()”方法

``````
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
redpig 级别 7，上海，中国
23 十一月 2022