一、二维数组的定义

二维数组可以被视为数组的数组,即每个元素都是一个数组。

二维数组的应用场景:

当我们需要把数据分组管理的时候,就需要用到二维数组。

二、二维数组的初始化

2-1、静态初始化

阿里巴巴规范手册:

// 静态初始化的推荐书写格式
int[][] arr = {
    {1, 2, 3},
    {5, 6, 7, 8, 9, 10}
}

【注意】:

        当只指定了二维数组的行数时,每行的列数可以不同,但通常建议保持每行的列数相同,以保持二维数组的整齐性。

2-2、动态初始化

三、二维数组的访问

访问二维数组的元素通过指定行索引和列索引来完成。索引从0开始。

int secondRowThirdColumn = array[1][2]; // 访问第二行第三列的元素

四、二维数组的遍历

遍历二维数组通常涉及两层循环,外层循环遍历行,内层循环遍历列。

for (int i = 0; i < array.length; i++) { // 遍历行  
    for (int j = 0; j < array[i].length; j++) { // 遍历列  
        System.out.print(array[i][j] + " ");  
    }  
    System.out.println(); // 每完成一行的遍历后换行  
}

或者使用Java标准库的Arrays.deepToString():

// 二维数组
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[][] ns = {
            { 1, 2, 3, 4 },
            { 5, 6 },
            { 7, 8, 9 }
        };
        System.out.println(Arrays.deepToString(ns));
    }
}

五、二维数组的内存图

1、特殊情况一:

只指定行数,列数在后续指定。

2、特殊情况二:

或者可以简略看:

 

六、三维数组的内存图

更多推荐