目录
这里声明一下部分图片来自百战尚学堂
一维数组:
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、返回对象的地址给变量

二维数组:
二维数组声明:
int[][] arr;
二维数组的创建:
int[][] arr = new int[3][]//创建数组时前面这个括号必须定义大小
二维数组的初始化:
静态初始化:int[][] arr = {{1,2,3},{4,5,6}};
动态初始化参考一维数组
默认初始化:int[][] arr = new int[3][]//创建数组时前面这个括号必须定义大小
创建二维数组的内存分析:
数组也是对象,创建数组与创建对象四步法一致:

int[][] arr = new int[3][2];
注意:
二维数组在创建过后new int[3][],像这样只有前面的括号有数字,后面的括号是空的,那么系统就不会自动创建一维数组给二维数组的元素引用,此时如果你访问某个值那就会报空指针异常
如果我们在后面的括号定义了数字,二维数组创建时就会默认创建三个一维数组给二维数组的元素引用,并且每个一维数组的元素默认为2个(这里的一维数组的元素默认是你自己定的)

本文详细介绍了Java中一维数组和二维数组的声明、创建过程,包括静态和动态初始化,以及内存分析。特别强调了二维数组的创建时系统如何默认分配内存,并指出了不完全初始化可能导致的空指针异常问题。


453

被折叠的 条评论
为什么被折叠?



