数组的介绍
- 介绍 : 数组就是一种容器, 可以存储同种数据类型的多个值
- 数组的使用场景 :发现要操作的数据有多个, 并且这多个数据属于一个整体, 就可以考虑使用数组容器来进行维护.
数组的格式
数据类型[] 数组名;
`int[] arr;`
数据类型 数组名[];
int arr[];
数组的静态格式
完整格式
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3..};
int[] arr = new int[]{11,22,33};
错误代码: int[] arr = new int[3]{11,22,33};
简化格式
数据类型[] 数组名 = {元素1,元素2,元素3..};
int[] arr = {11,22,33};
注意: 简化格式, 简化的只是书写格式, 等到运行的时候, 还是按照完整格式运行的.
数组的便历操作
- 介绍 : 获取到数组中的每一个元素进行操作
- 场景 : 如果要实现的需求, 需要操作到数组的每个元素, 就需要遍历数组
数组的动态初始化
- 介绍 : 在初始化的时候, 只需要指定长度, 系统就会分配默认值 (初始值)
- 格式 : 数据类型[] 数组名 = new 数据类型[长度];
int[] arr = new int[3];
两种初始化的对比
- 动态初始化 : 手动指定长度, 系统分配默认值
- 静态初始化 : 手动指定元素, 系统计算出数组长度
数组的常见问题
ArrayIndexOutOfBoundsException : 数组索引越界异常
NullPointerException : 空指针异常
二维数组的介绍
- 介绍 : 二维数组也是一种容器, 内部存储的都是一维数组
- 简单理解 : 容器的嵌套
- 使用场景 :
- 发现手里有多个数组, 多个数组属于一个整体, 那就找个更大的容器, 装起来
二维数组的静态初始化
完整格式
数据类型[][] 数组名 = new 数据类型[][]{
{一维数组1},
{一维数组2}
};
int[][] arr = new int[][] {
{11,22,33},
{44,55,66}
};
简化格式
数据类型[][] 数组名 = {
{一维数组1},
{一维数组2}
};
int[][] arr = {
{11,22,33},
{44,55,66}
};
二维数组的便历操作
int[][] arr = {
{11,22,33},
{44,55,66}
};
// 遍历二维数组, 获取每一个一维数组
for(int i = 0; i < arr.length; i++){
// arr[i] : 每一个一维数组
// 继续遍历一维数组, 获取元素
for(int j = 0; j < arr[i].length; j++){
System.out.println(arr[i][j]);
}
}```