java 二维数组

java 二维数组,第1张

声明和初始化 静态初始化
//        静态初始化:
//        一维数组
        int[] arr1_1 = {1, 2, 4};
        System.out.println(Arrays.toString(arr1_1));
//        二维数组
        int[][] arr1_2 = {{1, 2}, {4, 5}, {9, 10}};
        for (int[] i :
                arr1_2) {
            System.out.print(Arrays.toString(i));
        }
        System.out.println();

动态初始化
//        动态初始化
//        一维数组
        int[] arr2_1 = new int[3];
        arr2_1[0] = 1;
        arr2_1[1] = 2;
        arr2_1[2] = 4;
        System.out.println(Arrays.toString(arr2_1));
//        二维数组1
        int[][] arr2_2 = new int[3][2];
        arr2_2[0][0] = 1;
        arr2_2[0][1] = 2;
        arr2_2[1][0] = 4;
        arr2_2[1][1] = 5;
        arr2_2[2][0] = 9;
        arr2_2[2][1] = 10;
        for (int[] i :
                arr2_2) {
            System.out.print(Arrays.toString(i));
        }
        System.out.println();
//        二维数组2
        int[][] arr2_3 = new int[3][];
        arr2_3[0] = new int[]{1, 2};
        arr2_3[1] = new int[]{4, 5};
        arr2_3[2] = new int[]{9, 10};
        for (int[] i :
                arr2_3) {
            System.out.print(Arrays.toString(i));
        }
写法 一维数组
//        写法:
//        一维数组1
        int[] arr3_1 = new int[9];
//        一维数组2
        int arr3_2[] = new int[9];
//        一维数组3
        int arr3_3[] = new int[]{8, 3, 4};
//        一维数组4-类型推断
        int arr3_4[] = {8, 3, 4};
二维数组
//        二维数组1
        int[][] arr4_1 = new int[3][2];
//        二维数组2
        int arr4_2[][] = new int[3][2];
//        二维数组3
        int[] arr4_3[] = new int[3][2];
//        二维数组4
        int[][] arr4_4 = new int[][]{{1, 2}, {4, 5}, {9, 10}};
//        二维数组5-类型推断
        int[][] arr4_5 = {{1, 2}, {4, 5}, {9, 10}};
声明和初始化总代码
package lesson.l7_array;

import java.util.Arrays;

/**
 * Illustration
 *
 * @author DengQing
 * @version 1.0
 * @datetime 2022/5/7 18:17
 * @function 二维数组
 */
public class TwoDimensionalArray {
    public static void main(String[] args) {
//        静态初始化:
//        一维数组
        int[] arr1_1 = {1, 2, 4};
        System.out.println(Arrays.toString(arr1_1));
//        二维数组
        int[][] arr1_2 = {{1, 2}, {4, 5}, {9, 10}};
        for (int[] i :
                arr1_2) {
            System.out.print(Arrays.toString(i));
        }
        System.out.println();


//        动态初始化
//        一维数组
        int[] arr2_1 = new int[3];
        arr2_1[0] = 1;
        arr2_1[1] = 2;
        arr2_1[2] = 4;
        System.out.println(Arrays.toString(arr2_1));
//        二维数组1
        int[][] arr2_2 = new int[3][2];
        arr2_2[0][0] = 1;
        arr2_2[0][1] = 2;
        arr2_2[1][0] = 4;
        arr2_2[1][1] = 5;
        arr2_2[2][0] = 9;
        arr2_2[2][1] = 10;
        for (int[] i :
                arr2_2) {
            System.out.print(Arrays.toString(i));
        }
        System.out.println();
//        二维数组2
        int[][] arr2_3 = new int[3][];
        arr2_3[0] = new int[]{1, 2};
        arr2_3[1] = new int[]{4, 5};
        arr2_3[2] = new int[]{9, 10};
        for (int[] i :
                arr2_3) {
            System.out.print(Arrays.toString(i));
        }

//        写法:
//        一维数组1
        int[] arr3_1 = new int[9];
//        一维数组2
        int arr3_2[] = new int[9];
//        一维数组3
        int arr3_3[] = new int[]{8, 3, 4};
//        一维数组4-类型推断
        int arr3_4[] = {8, 3, 4};


//        二维数组1
        int[][] arr4_1 = new int[3][2];
//        二维数组2
        int arr4_2[][] = new int[3][2];
//        二维数组3
        int[] arr4_3[] = new int[3][2];
//        二维数组4
        int[][] arr4_4 = new int[][]{{1, 2}, {4, 5}, {9, 10}};
//        二维数组5-类型推断
        int[][] arr4_5 = {{1, 2}, {4, 5}, {9, 10}};
    }
}


二维数组的长度
        int [][]arr1=new int[][]{{1,2},{8,9,10},{-1}};
//        二维数组的行-外层的
        System.out.println(arr1.length);//3
//        二维数组的列-内部的
        System.out.println(arr1[0].length);//2
        System.out.println(arr1[1].length);//3
        System.out.println(arr1[2].length);//1
二维数组的遍历 方法1
//        二维数组的遍历
//        方法1:两层for循环
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                /*1	2	
                8	9	10	
                -1	*/
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }
方法2
//        方法2:foreach+Arrays.toString
        for (int[] a:
             arr) {
//            [1, 2][8, 9, 10][-1]
            System.out.print(Arrays.toString(a));
        }
默认初始值

public class TwoDimensionalArray3 {
    public static void main(String[] args) {
//        一维数组
        int[]a=new int[2];
        System.out.println(a);//[I@43a25848
        System.out.println(a[0]);//0
        System.out.println(a[1]);//0


//        二维数组1
        int[][]arr=new int[3][4];
        System.out.println(arr);//[[I@3ac3fd8b
//        外层元素
        /*[I@43a25848:
        * [一个代表存的是一维数组
        * I代表是int型
        * 43a25848代表地址*/
        System.out.println(arr[0]);//[I@43a25848
        System.out.println(arr[1]);//[I@3ac3fd8b
//        内层元素
        System.out.println(arr[0][0]);//0
        System.out.println(arr[1][1]);//0



//        二位数组2
        int[][]array=new int[3][];
        System.out.println(array);//[[I@3b6eb2ec
//        外层元素
        /*null:列存的是一维数组,是引用类型,为null*/
        System.out.println(array[0]);//null
        System.out.println(array[1]);//null

    }
}

内存解析

案例1

案例2

案例3

案例4:

练习

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/876284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存