zoukankan      html  css  js  c++  java
  • 12java的多维数组

    多维数组

    多维数组可以看成数组的数组,比二位数组就是一个特殊的数组,其中的每一个元素都是一个一维数组

    int array[][]=new int[2][3];
    

    直接上代码,太精彩了,颠覆了我以前对数组的认知。

    package MethodDemo;
    
    public class Demo09 {
        public static void main(String[] args) {
            //int[][] array = {{1, 2}, {3, 4}, {5, 6}};//二维数组的初始化,3行2列,此处着重理解记忆
            int[][] array = new int[3][2];//产生一个三行两列的数组,不初始化,默认值是全0
            for (int i = 0; i < array.length; i++) {
                for (int j = 0; j < array[i].length; j++) {
                    array[i][j]=i*j;
                }
            }
            /*颠覆我之前对二维数组认知的地方来了
            1,2    array[0] array[0]是一个一维数组(对象),它里面存的是一个数组,有两个元素
            3,4    array[1]
            5,6    array[2]
             */
            System.out.println(array.length);//三个array[i]
            System.out.println(array[1].length);//输出结果是2,也就是一维数组array[1]的长度
            Demo08 demo08 = new Demo08();
            demo08.PrintArray(array[2]);
            for (int i = 0; i < array.length; i++) {
                for (int j = 0; j < array[i].length; j++) {
                    System.out.print(array[i][j]+" ");
                        if(j==array[i].length-1)
                        System.out.println();
                }
            }
        }
    }
    

    我以前理解的二维数组是直接认为它是一个矩阵,有m行n列,这样理解在数据操作上也没有大问题,只是没有理解多维数组本质。

    同样,如果是三维数组,那就是array[0]里面存的是array【0】【i】,而array【0】【i】里面存的是array【0】【i】【0-j】,此时array【0】、array【0】【i】都成了对象。

    • 下面是二维数组的内存形式。
      1. array【i】是一个对象,里面存储着array【i】【j】,array【i】【j】是成员(元素),如图1。
      2. 理解了二维数组的本质之后,我们在用矩阵的视角来看二维数组,int[][] array = new int【3】【2】;3行2列的矩阵,其中行是new出来一位数组对象的个数,列是一位数组对象中二维数组元素的个数。再看一下直接初始化数组成员的例子int【】【】 array = {{1, 2}, {3, 4}, {5, 6}};下面用图2进行解释。如图2所示,二维数组只不过是把一维数组的每个元素有扩展成一个一维数组,用相同的格式括起来。
      3. 由于Markdown命令的原因,使用因为英文括号可能会不能显示,所以在文本区使用中文的括号。

    ​ 图1

    ​ 图2

    自学java,请多多指教!
  • 相关阅读:
    代码—五天前是星期几
    随手笔记-日期
    建造曲线记忆表格
    2017-5-10随手记
    java-web——第一课 tomcat
    复习
    Leetcode 24. Swap Nodes in Pairs(详细图解一看就会)
    这可能是最详细的解析HTTP走私攻击的文章
    使用grub2引导进入Linux或Window系统
    ACM集训第一次积分赛赛前复习+day4
  • 原文地址:https://www.cnblogs.com/fanfada/p/13763770.html
Copyright © 2011-2022 走看看