一.数组概述和定义格式说明
1.数组概述
数组:数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。数组既可以存储基本数据类型,也可以存储引用数据类型。数组本身是引用数据类型。
2.数组的定义格式
- 格式一
- 数据类型[ ] 变量名
- 范例:int[ ] arr
- 定义了一个int类型的数组,数组名是arr
- 格式二
- 数据类型 变量名[ ]
- 范例:int arr[ ]
- 定义了一个int类型的变量,变量名是arr数组
二.数组初始化之动态初始化
- 什么是数组的初始化
- 就是为数组开辟连续的内存空间,并为每个数组元素赋予值。
- 如何对数组进行初始化
- 动态初始化:只指定长度,由系统给出初始化值
- 静态初始化:给出初始化值,由系统决定长度
- 动态初始化格式:
- 数据类型[ ] 数组名=new 数据类型[数组长度]
- 数组元素访问
- 数组变量访问方式:通过数组名访问
- 数组内部存储的数据的访问方式:数组名[索引]
- 索引
- 索引是数组中数据的编号方式
- 索引从0开始
- 索引是连续的
- 索引逐一增加,每次加1
- 数组默认初始化值
三.数组初始化之静态初始化
- 静态初初始化
- 给出初始化值,由系统决定长度
- 格式
- 数据类型[ ] 变量名=new 数据类型[ ]{数据1,数据2,数据3...};
- 范例:int[ ] arr=new int[ ]{1,2,3};
- 简化格式
- 数据类型[ ] 变量名={数据1,数据2,数据3...};
- 范例:int[ ] arr={1,2,3};
五.数组操作的两个常见小问题
-
ArrayIndexOutOfBoundsException:数组索引越界异常
- 原因:访问了不存在的索引,造成数组索引越界异常
-
NullPointerException:空指针异常
- 原因:访问的数组已经不再指向堆内存的数据,造成空指针异常
六.数组遍历
- 数组遍历:就是依次输出数组中的每一个元素
- 数组的属性:arr.length数组的长度
- 数组的最大索引:arr.lenth-1