多维数组的使用(三)

内存解析

二维数组本质上是元素类型是一维数组的一维数组。

int[][] arr = {
    {1},
    {2,2},
    {3,3,3},
    {4,4,4,4},
    {5,5,5,5,5}
};

复制代码
//1、声明二维数组,并确定行数和列数
int[][] arr = new int[4][5];

//2、确定元素的值
for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr.length; j++) {
        arr[i][j] = i + 1;
    }
}
复制代码

复制代码
//1、声明一个二维数组,并且确定行数
//因为每一行的列数不同,这里无法直接确定列数
int[][]  arr = new int[5][];
//2、确定每一行的列数
for(int i=0; i<arr.length; i++){
    /*
            arr[0] 的列数是1
            arr[1] 的列数是2
            arr[2] 的列数是3
            arr[3] 的列数是4
            arr[4] 的列数是5
            */
    arr[i] = new int[i+1];
}

//3、确定元素的值
for(int i=0; i<arr.length; i++){
    for(int j=0; j<arr[i].length; j++){
        arr[i][j] = i+1;
    }
}
复制代码

应用举例

案例1:获取arr数组中所有元素的和。

复制代码
    public static void sumArrays() {
        //定义不规则数组
        int[][] arr = new int[][]{{3, 5, 8}, {12, 9}, {7, 0, 6, 4}};
        //存放结果
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                sum += arr[i][j];
            }
        }
        System.out.println("数组和为  " + sum);
    }
复制代码

案例2:使用二维数组打印一个 10 行杨辉三角。

提示:

  1. 第一行有 1 个元素, 第 n 行有 n 个元素
  2. 每一行的第一个元素和最后一个元素都是 1
  3. 从第三行开始, 对于非第一个元素和最后一个元素的元素。即:

      yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];

复制代码
        //动态初始化
        int[][] yangh = new int[10][];
        for (int i = 0; i < yangh.length; i++) {
            yangh[i] = new int[i + 1];
            //赋值
            yangh[i][0] = yangh[i][i] = 1;
            for (int j = 1; j < yangh[i].length-1; j++) {
                yangh[i][j] = yangh[i - 1][j -1 ] + yangh[i - 1][j];

            }
        }

        for (int i = 0; i < yangh.length; i++) {
            for (int j = 0; j < yangh[i].length; j++) {
                System.out.print(yangh[i][j] + "\t");
            }
            System.out.println();
        }
复制代码
posted @   晓枫的春天  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2022-04-11 Spark 广播变量&累加器
2020-04-11 数组模拟环形队列
点击右上角即可分享
微信分享提示