java系列:二维数组/多维数组

97 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情

二维数组/多维数组

二维数组的应用场景

比如五子棋游戏,棋盘就是一个二维数组

快速入门案例

TwoDimensionalArray01.java

public class TwoDimensionArray01 {
    public static void main(String[] args) {
​
        /*
        请用二维数组输出如下图形
​
        000000
​
        001000
​
        020300
​
        000000
        */
​
        //1.从定义形式上看 int[][]
        //2.可以这样理解,原来的一维数组的每个元素是一维数组,就构成二维数组
​
        int arr[][] = {
                {0,0,0,0,0,0},
                {0,0,1,0,0,0},
                {0,2,0,3,0,0},
                {0,0,0,0,0,0}
        };
        for (int i = 0; i < arr.length; i++){
            for (int j = 0;j < arr[i].length; j++){
                System.out.print(arr[i][j] + " ");
​
            }
            System.out.println();
        }
​
​
​
    }
}

请用二维数组输出如下图型

000000

001000

020300

000000

二维数组的使用

使用方式一:动态初始化

TwoDimensionalArray02.java

public class TwoDimensionArray02 {
    public static void main(String[] args) {
        int arr[][] = new int[2][3];
        //遍历arr数组
        for (int i = 0; i < arr.length; i++){
            for (int j = 0; j < arr[i].length; j++){
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
    }
}

1.语法:

类型[][] 数组名 = new 类型[大小][大小]
如:int a[][] = new int[2][3];

二维数组在内部的存在形式

image-20221028000756600.png

使用方式2:动态初始化

先声明:类型 数组名[][]; TwoDimensionalArray02.java
再定义(开辟空间)数组名 = new 类型[大小][大小]

赋值(有默认值,比如 int 类型就是0)

使用演示

使用方式3:动态初始化-列数不确定

看一个需求:动态创建下面的二维数组,并输出

image-20221028001104844.png

使用方式4:静态初始化

1.定义:

类型 数组名[][] = {{},{},{},……}

使用即可[固定方式访问]

二维数组的遍历

案例

TwoDimensionalArray05.java

int arr[][] = {{4,6},{1,5,7},{-2}};

遍历该二维数组,并求和

public class TwoDimensionArray05 {
    public static void main(String[] args) {
​
        //遍历数组并求出和
        int arr[][] = {{4,6},{1,4,5,7},{-2}};
​
        int sum = 0;
​
        for (int i = 0; i < arr.length; i++){
            for (int j = 0; j < arr[i].length; j++){
                System.out.print(arr[i][j] + "\t");
                sum += arr[i][j];
            }
            System.out.println();
        }
        System.out.println("sum = " + sum);
​
​
​
    }
}