3.数组

一.一维数组

1.数组的声明:int[] scores;

2.静态初始化:数组的声明、创建与数组元素的赋值一并完成。

        scores = new int[] { 33, 34, 35, 32,44 };

        double[] arr = new double[] { 62.5, 88.6, 78.5 };

    动态初始化:数组的声明、创建与数组元素的赋值分开进行。

    String[] strs = new String[4];// 表明数组中只有4个元素

        //错误的声明方式:

        int[10] myInt;

        int[] arr = new int[];

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

            注:①数组元素的类型,直接可以通过声明可以看出来

                   ②不管是静态初始化,还是动态初始化,都指明了数组的长度

3.数组元素的调用:通过下角标的方式进行调用。

        strs[0] = "111";

4.数组的长度,即数组中元素的个数。可以使用属性“length”表示

        System.out.println(strs.length);// 4

5.遍历数组中的元素

        for (int i = 0; i < strs.length; i++) {

            System.out.println(strs[i]);

        }

6.不同类型元素的数组的默认初始化值

    //1)整型:byte short int long ==> 0

    //2)浮点型:float,double ==>0.0

    //3)布尔型:boolean==>false

    //4)字符型:char ==>\u0000 空

    //5)引用数据类型:以String为代表==> null

7.数组的内存解析

    java内存划分

内存划分

    数组的声明存放在栈空间,数组中的元素存放在堆空间

    数组一旦创建,根据其数据类型,都有对应的默认初始化值。

    如果再被赋予新的值,比如:arr1[0] = 10.就是将默认的0的值覆盖掉


数组内存解析

二.二维数组

        将一维数组作为一个新的数组的元素,那么就构成了一个二维数组

    //1.二维数组的声明与初始化

        int[][] scores;

        //静态初始化

        scores = new int[][]{{1,2,4},{4,5},{7,9,0}};

        //动态初始化

        String[][] arr1 = new String[4][3];

        boolean[] arr2[] = new boolean[3][];

        //错误的初始化

        //int[][] arr3 = new int[2][4]{{1,2,3,4},{3,4,5,6}};

        //int[][] arr4 = new int[][3];

    //2.数组元素的调用:通过下角标的方式调用

        arr2[0] = new boolean[3];

        //arr2[1] = new boolean[4];

        arr2[2] = new boolean[5];

    //3.调用具体的元素

        System.out.println(scores[1][0]);//4

        arr1[2][1] = "MM";

        //....

//4.数组的长度

        System.out.println(scores.length);//3

        System.out.println(arr1.length);//4

        System.out.println(scores[1].length);//2

        System.out.println(arr2[2].length);//5

//5.遍历数组元素

        for(int i = 0;i < scores.length;i++){//控制行数

            for(int j = 0;j < scores[i].length;j++){//控制列数

                    System.out.print(scores[i][j] + " ");

            }

            System.out.println();

       }

6.二维数组的内存解析


二维数组内存解析1


二维数组内存解析2

三.数组常见的异常

1.ArrayIndexOutOfBoundsException:超出角标的范围,都属于越界

数组越界

2.NullPointerException: 空指针异常

二维数组空指针
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容