在 Java 中初始化 2D 数组

Rupam Yadav 2023年1月30日 2021年2月7日
  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 
Author: 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