数组 [ ]
相同类型数据的有序集合
数组的特点
- 数组是一个引用数据类型
- 数组是一个容器,长度一旦确定不可改变
- 数组中存储的所有数据的数据类型要求一致
- 数组是有序的,存储的所有数据都有 索引|下标,下标从0开始
数组的声明
数据类型[] 数组名; // 推荐
数据类型 数组名[]; // 不推荐
- 数据类型是数组中存储的数据的类型,可以是基本数据类型和引用数据类型
- 数组名是一个标识符,应该满足标识符规则与规范
数组的初始化
-
静态初始化
数据类型[] 数组名 = new 数据类型[]{元素1,元素2, ... ,元素n}; // 数组可以重新定义 数据类型[] 数组名 = {元素1,元素2, ... ,元素n}; // 书写简单但是数组不可变
-
动态初始化
数据类型[] 数组名 = new 数据类型[数组长度]; // 先创建,不赋值,但是必须给定数组长度
- 动态初始化有默认值
数组的遍历
-
普通for循环:
for (int i = 0; i < 数组名.length; i ++) { // 定义一个变量i作为数组元素的下标,i从0到length-1 System.out.println(数组名[i]); // 取出数组中每个元素并输出 }
-
增强for循环(foreachxunhuan):
for (数据类型 变量名 : 数组名|容器名) { // 变量名:变量代表数组中的每一个数据,从第一个开始拿 System.out.println(变量名); // 取出数组中每个元素并输出 }
数组中常见的异常
- ArrayIndexOutOfBoundsException(数组索引越界异常):使用了不存在的索引
- NullPointerException(空指针异常):没有真的指向数组对象,而指向的null
可变参数:
- 定义:个数不确定但是类型相同的多个参数
- 语法结构:数据类型 … 参数名
- 可以接收参数的个数为0~n个,类型必须都相同
- 可变参数要存在与参数列表的最后
- 操作可变参数,使用数组的使用方式,在方法体中会默认为可变参数构建一个数组