zoukankan      html  css  js  c++  java
  • Java 数组之二维数组

    1、二维数组:数组的每个元素,又是一个数组

    2、本质:还是一个一维数组,只不过数组的每个元素,都是另一个一维数组的地址

    3、定义格式:

      1、int[][] arr = new int[3][5];创建了一个二维数组,有3个元素,每个元素都是一个一维数组的地址,每个一维数组中,有5个元素,每个元素都是一个int类型的数据,图示:

    2、int[][] arr = new int[3][];创建了一个二维数组,有三个元素,每个元素都是一个一维数组的地址,每个一维数组中有多少个元素,不知道,所以一维数组没有办法创建。后期可以随意创建一维数组,给二维数组的元素赋值。

      3、int[][] arr = {{}, {1}, {1,2}, {3,4,5,6,7}, null};相当于定义了一个二维数组,有5个元素,每个元素都是一个一维数组,每个元素的长度、数据都不相同。

     

    class Test{
        public static void main(String[] args) {
            int[][] arr = new int[3][5];
            System.out.println(arr);//[[I@15db9742
            System.out.println(arr.length);//3
            System.out.println(arr[0]);//[I@...
            System.out.println(arr[1]);//[I@...
            System.out.println(arr[0].length);//5
            System.out.println(arr[0][0]);//0
            System.out.println("---------------------------");
    
            int[][] arr2 = new int[3][];
            System.out.println(arr2);//[[I@...
            System.out.println(arr2.length);//3
            System.out.println(arr2[0]);//null
            System.out.println(arr2[1]);
            //System.out.println(arr2[0].length);//空指针异常
            int[] arrOne = {3, 4, 5};
            arr2[0] = arrOne;
            System.out.println(arr2[0] + "..." + arrOne);
            System.out.println(arr2[0].length);//3
            System.out.println(arr2[0][0]);//3
    
            int[] arrOne2 = {6,7,8,9,11,12,13};
            arr2[1] = arrOne2;
            System.out.println(arr2[1][3]);//9
    
            System.out.println("------------------------------------");
            int[][] arr3 = {{}, {1}, {1,2}, {3,4,5,6,7}, null};
            System.out.println(arr3);//[[I@....
            System.out.println(arr3.length);//5
            System.out.println(arr3[0]);//[I@...
            System.out.println(arr3[0].length);//0
            //System.out.println(arr3[0][0]);//数组索引越界异常
            System.out.println(arr3[4]);//null
            System.out.println(arr3[4].length);//空指针异常
    
        }
    }
    二维数组

     

    二维数组的遍历

    1、二维数组是:数组嵌套了数组,遍历的时候,使用循环嵌套循环。

    2、外层循环中,获取到所有的一维数组,内层循环中,遍历每个一维数组。

    class Test2 {
        public static void main(String[] args) {
            int[][] arr = {{}, {1}, {1,2}, {3,4,5,6,7}, null};
            //定义循环,获取所有的一维数组
            for (int i = 0; i < arr.length; i++) {
                if ( arr[i] != null) {//如果一维数组不为null,才遍历
                    //定义循环,遍历一维数组arr[i]
                    for ( int j = 0; j < arr[i].length; j++) {
                        System.out.print(arr[i][j] + "  ");
                    }
                    //一维数组的所有元素打印完成之后,加一个换行
                    System.out.println();
                } else {//如果一维数组为null,就打印字符串null
                    System.out.println("null");
                }
            }
        }
    }
    二维数组的遍历

     

  • 相关阅读:
    LINUX
    DOCKER
    计算牛的数目
    计算a^3=b^3+c^3+d^3
    用递归计算C(m,n)
    A Mathematical Curiosity
    Who is lier?
    我的第一篇 实习报告
    R.java
    天气系统
  • 原文地址:https://www.cnblogs.com/xfdhh/p/11179644.html
Copyright © 2011-2022 走看看