栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 二维数组

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 二维数组

目录
  • 1.二维数组的定义
  • 2.二维数组的动态初始化
  • 2.二维数组的静态初始化
  • 3.二维数组的遍历
  • 4.二维数组的求和

二维数组也是一种容器,不同于一维数组,该容器存储的都是一维数组容器。

1.二维数组的定义

格式1:数据类型[][] 变量名;(常用)

格式2:数据类型 变量名[][];

格式3:数据类型[] 变量名[];

2.二维数组的动态初始化

格式:数据类型[][] 变量名 = new 数据类型[m][n];

  • m 表示这个二维数组可以存放多少个一维数组
  • n 表示每个一维数组可以存放多少个元素
// 该数组可以存放2个一维数组,每个一维数组中可以存放3个int类型元素
int[][] arr = new int[2][3];

示例:

public class Demo1Array {
    public static void main(String[] args) {
        int[][] arr = new int[3][3];
        System.out.println(arr); // [[I@10f87f48
        
        
        // 二维数组存储的是一维数组的内存地址
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        
        System.out.println(arr[0][0]);
        System.out.println(arr[1][1]);
        System.out.println(arr[2][2]);

        // 向二维数组中存储元素
        arr[0][0] = 11;
        arr[0][1] = 22;
        arr[0][2] = 33;

        arr[1][0] = 11;
        arr[1][1] = 22;
        arr[1][2] = 33;

        arr[2][0] = 11;
        arr[2][1] = 22;
        arr[2][2] = 33;

        // 从二维数组中取出元素并打印
        System.out.println(arr[0][0]);
        System.out.println(arr[0][1]);
        System.out.println(arr[0][2]);
        System.out.println(arr[1][0]);
        System.out.println(arr[1][1]);
        System.out.println(arr[1][2]);
        System.out.println(arr[2][0]);
        System.out.println(arr[2][1]);
        System.out.println(arr[2][2]);
    }
}

问:二维数组中存储的是一维数组,那能不能存入提前创建好的一维数组呢?

答:可以的。

public class Demo2Array {
    public static void main(String[] args) {
        int[] arr1 = {11,22,33};
        int[] arr2 = {44,55,66};
        int[] arr3 = {77,88,99,100};

        int[][] arr = new int[3][3];

        arr[2][3] = 100; // 报错,索引越界

        arr[0] = arr1;
        arr[1] = arr2;
        arr[2] = arr3;

        System.out.println(arr[1][2]); // 输出66
        System.out.println(arr[2][3]); // 正确,输出100
    }
}

2.二维数组的静态初始化

完整格式:

数据类型[][] 变量名 = new 数据类型[][]{ {元素1, 元素2...} , {元素1, 元素2...} ...};

简化格式:

数据类型[][] 变量名 = { {元素1, 元素2...} , {元素1, 元素2...} ...};

示例:

public class Demo3Array {
    public static void main(String[] args) {
        int[] arr1 = {11,22,33};
        int[] arr2 = {44,55,66};

        int[][] arr = {{11,22,33}, {44,55,66}};
        System.out.println(arr[0][2]); // 输出33

        int[][] array = {arr1,arr2};
        System.out.println(array[0][2]); // 输出33
    }
}
3.二维数组的遍历

示例:已知一个二维数组 arr = {{11, 22, 33}, {33, 44, 55}},遍历该数组,取出所有元素并打印。

public class Test1 {
    public static void main(String[] args) {
        int[][] arr = {{11, 22, 33}, {33, 44, 55}};

        // 1.遍历二维数组,取出里面每个一维数组
        for (int i = 0; i < arr.length; i++) {
            //System.out.println(arr[i]);
            // 2.在遍历的过程中,对每个一维数组继续完成遍历,获取内部存储的每一个元素
            for (int j = 0; j < arr[i].length; j++) {
                System.out.println(arr[i][j]);
            }
        }
    }
}
4.二维数组的求和

示例:

public class Test2 {
    public static void main(String[] args) {
        // 1.定义求和变量,准备记录最终累加结果
        int sum = 0;
        // 2.使用二维数组来存储数据
        int[][] arr = { {22,66,44} , {77,33,88} , {25,45,65} , {11,66,99}};
        // 3.遍历二维数组,获取所有元素,累加求和
        for (int i = 0; i < arr.length; i++) {
            for(int j = 0; j < arr[i].length; j++) {
                sum += arr[i][j];
            }
        }
        // 4.输出最终结果
        System.out.println(sum);
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/439387.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号