数组-二维数组

一、如何理解二维数组

  • 数组属于引用数据类型
  • 数组的元素也可以是引用数据类型
  • 一个一维数组A的元素如果还是一个一维数组类型的,则此数组A称为二维数组

二、二维数组的声明与初始化

正确的方式:

  //二维数组的声明和初始化
    int[] arr1 = new int[]{1,2,3};//一维
  //1.1静态初始化
    int[][] arr2 = new int[][]{{1,2},{3,4},{5,6},{7,8}};//二维
  //1.2.1动态初始化方式一
    String[][] arr3 = new String[2][2];
  //1.2.2动态初始化方式二
    String[][] arr4 = new String[2][];

三、如何调用二维数组元素

//2.如何调用数组的指定位置的元素
        System.out.println(arr2[0][1]);//2
        //null-未被赋值,String类型的默认值为null
        System.out.println(arr3[0][1]);

        arr4[1] = new String[2];
        //因为arr4,列还未被赋值,单独打印会空指针异常
        System.out.println(arr4[1][0]);

四、二维数组的属性-length

//3.如何获取数组的长度
System.out.println(arr2.length);
System.out.println(arr2[0].length);

五、遍历二维数组元素

//4.如何遍历数组
for(int i = 0;i < arr2.length;i++){
    for(int j = 0;j < arr2[i].length;j++){
        System.out.print(arr2[i][j] + " ");
    }
    System.out.println();
}

六、二维数组元素的默认初始化值

//5.数组元素的默认初始化值
        /*
        规定:二维数组分为外层数组的元素,内层数组的元素
        int[][] arr = new int[2][6];
        外层元素:arr[0]、arr[1]、arr[2]等
        内层元素:arr[0][1]、arr[0][2]等
        */
//初始化方式一:
        //数组元素是整型:外层是一个地址值,内层是0
        int[][] array = new int[2][2];
        System.out.println(array[0]);
        System.out.println(array[0][0]);
        System.out.println();
//数组元素是布尔型:外层是一个地址值,内层是false
        boolean[][] boo = new boolean[2][2];
        System.out.println(boo[0]);
        System.out.println(boo[0][0]);
        System.out.println();
//数组元素是浮点型:外层是一个地址值,内层是0.0
        float[][] flo = new float[2][2];
        System.out.println(flo[0]);
        System.out.println(flo[0][0]);
        System.out.println();
//数组元素是char型:
        char[][] c = new char[2][2];
        System.out.println(c[0]);
        System.out.println(c[0][0]);
        if(c[0][0] == 0){
            System.out.println("√");
        }
        System.out.println();
//数组元素是引用数据类型:外层是一个地址值,内层是null
        String[][] str = new String[2][2];
        System.out.println(str[0]);
        System.out.println(str[0][0]);
//初始化方式二:
        //外层是null,内层不能调用,否则报异常错误
        double[][] dou = new double[2][];
        System.out.println(dou[0]);
        //空指针异常,因为dou[0]为null,再去找它下面元素,是找不到的
        System.out.println(dou[0][0]);

七、二维数组的内存结构

posted @ 2021-06-17 14:52  犄角旮旯是程序媛吖  阅读(105)  评论(0编辑  收藏  举报