1、数组的定义格式
格式一: 数据类型[] 变量名
范例: int[] arr
定义了一个int类型的数组,数组名是arr
格式二:数据类型 变量名[]
范例: int arr[]
定义了一个int类型的变量,变量名是arr数组
2、数组动态初始化
3、数组元素访问
4、Java中内存分配
- 栈内存:存储局部变量
定义在方法中的变量,例如:arr
使用完毕,立即消失 - 堆内存:存储new出来的内容(实体,对象)
数组在初始化时,会为存储空间添加默认值
整数:0
浮点数:0.0
布尔:false
字符:空字符
引用数据类型:null
每一个new出来的东西都有一个地址值,使用完毕,会在垃圾回收器空闲时被回收
5、数组初始化之静态初始化
静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度
格式:数据类型[]变量名 = new 数据类型[] {数据1,数据2,数据3,……};
范例:int[] arr = new int[]{1,2,3};
6、数组操作中常见小问题
- 索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题
- 空指针异常:访问的数组已经不再指向堆内存的数据,造成空指针异常
- null:空值,引用数据类型的默认值,表示不指向任何有效对象
7、数组的遍历
通用格式:
int[] arr = {…};
for(int i=0; i<arr.length; i++){
arr[x];
}