目录
1. 数组
1.1 数组介绍
数组指的是一种容器,可以用来存储同种数据类型的多个值
用数组容器来存储 int a = 10 、int b = 20 、int c = 40 、int d = 50、 int e = 60等同类型的数据
1.2 数组静态初始化
![](https://img-blog.csdnimg.cn/6f3f96cbfecd473b969f30547d39cb6b.png)
数组定义格式
格式一:
数据类型
[]
数组名
格式二:
数据类型
数组名
[]
范例:
int
[]
array
范例:
int
array
[]
public class Demo1Array {
public static void main(String[] args) {
int[] array1;
int array2[];
}
}
打印数组名, 会看到数组在内存中的十六进制地址值
1.3 数组元素访问
- 格式:数组名[索引];
- 索引:索引是数组容器中空间的编号,编号从0开始,逐个+1增长
1.4 数组遍历操作
数组遍历:将数组中所有的内容
取出来
,取出来之后可以(打印,求和,判断
..
)
1.5 数组动态初始化
定义
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
- 格式:数据类型[] 数组名 = new 数据类型[数组长度]
- 范例:int[] arr = new int[3];
| 明细 | 默认值 |
基本数据类型 | 整数 | 0 |
小数 | 0.0 | |
字符 | '\u0000' 常见体现为空白字符 | |
布尔 | false | |
引用数据类型 | 类、接口、数组 | null |
1.5.1 两种初始化的区别
- 动态初始化:手动指定数组长度,由系统给出默认初始化值。
- 静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度
1.6 数组内存图
Java 内存分配介绍
两个数组指向相同内存图
- 基本数据类型:传递数据值
- 引用数据类型:传递地址值
基本数据类型
引用数据类型
1.7 数组常见问题
索引越界异常
- ArrayIndexOutOfBoundsException 当访问了数组中不存在的索引,就会引发索引越界异常
空指针异常
- 当引用数据类型变量被赋值为 null 之后,地址的指向被切断,还继续访问堆内存数据,就会引发空指针异常
2. 二维数组
2.1 二维数组介绍
二维数组是一种
容器
,该容器用于存储一维数组
使用思路:今后若要操作的 多组 数据,属于同一组数据就可以考虑使用二维数组行维护
2.2 二维数组静态初始化
二维数组静态初始化格式
二维数组元素访问
2.3 二维数组遍历
2.4 二维数组动态初始化
二维数组动态初始化格式
2.5 二维数组内存图