JAVA数组的声明、创建、初始化、内存分析

目录

一维数组:

        1、一维数组的声明:

        2、一维数组的创建(给数组分配空间):

        3、数组初始化:

        4、一维数组创建的内存分析:

二维数组:

         二维数组声明:

        二维数组的创建:

        二维数组的初始化:

        创建二维数组的内存分析:


 

这里声明一下部分图片来自百战尚学堂

一维数组:

        1、一维数组的声明:

        创建一维数组有两种声明的写法:

        注意:声明不能定义数组的大小

                1、int[] arr; 

                2、int arr[];

        2、一维数组的创建(给数组分配空间):

        只有在创建的时候才可以定义数组的大小

                int[] arr = new int[];

        3、数组初始化:

                3.1、静态初始化(数组在声明时使用大括号初始化):

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

                3.2、动态初始化(数组声明创建过后,通过下标初始化):

                        int[] arr = new int[3];

                        arr[0] = 0;arr[1] = 0;arr[2] = 0;

                3.3、默认初始化(数组声明创建过后,系统默认初始化为0或空)

                        int[] arr = new int[3];

        4、一维数组创建的内存分析:

                int[] arr = new int[3];

                数组实际上也是对象,当我们new的时候其实跟对象创建四部原则差不多:

                        1、创建对象,属性默认初始化为0或空

                        2、属性进行显性初始化

                        3、调用构造器

                        4、返回对象的地址给变量

JAVA数组的声明、创建、初始化、内存分析_第1张图片

二维数组:

         二维数组声明:

                int[][] arr;

        二维数组的创建:

                int[][] arr = new int[3][]//创建数组时前面这个括号必须定义大小

        二维数组的初始化:

                静态初始化:int[][] arr = {{1,2,3},{4,5,6}};

                动态初始化参考一维数组

                默认初始化:int[][] arr = new int[3][]//创建数组时前面这个括号必须定义大小

        创建二维数组的内存分析:

                数组也是对象,创建数组与创建对象四步法一致:

JAVA数组的声明、创建、初始化、内存分析_第2张图片

 

                ​​​

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

JAVA数组的声明、创建、初始化、内存分析_第3张图片

注意:

二维数组在创建过后new int[3][],像这样只有前面的括号有数字,后面的括号是空的,那么系统就不会自动创建一维数组给二维数组的元素引用,此时如果你访问某个值那就会报空指针异常

JAVA数组的声明、创建、初始化、内存分析_第4张图片

 

如果我们在后面的括号定义了数字,二维数组创建时就会默认创建三个一维数组给二维数组的元素引用,并且每个一维数组的元素默认为2个(这里的一维数组的元素默认是你自己定的)

JAVA数组的声明、创建、初始化、内存分析_第5张图片

 

 

 

你可能感兴趣的:(java,数据结构,开发语言,jvm,栈)