1.什么是数组
- 数组:[ ]
- 相同类型数据的有序集合
- 存储多个数据
2.数组特点
- 数组是一个引用数据类型
- 数组是个容器,长度一旦确定不可改变
- 存储的所有数据类型要求一致
- 下标|索引 从0开始
3.数组声明
- 数据类型[] 数组名; (推荐)
- 数据类型 数组名[]; (不推荐)
- 数据类型:基本|引用
- 规定存放的所有数据的数据类型
- 数组名:标识符
4.数组的初始化
-
动态初始化:
- 先创建数组,但是不赋值,后续根据需求进行赋值
- 结构:数据类型[] 数组名 = new 数据类型[长度];
- 有默认值
- 整数:0
- 小数:0.0
- 布尔:false
- 字符:‘ ’
- 引用数据类型:null
-
静态初始化:
- 创建的同时就要赋值
- 结构:
- 数据类型[] 数组名 = new 数据类型[]{值1,值2,值3…};
- 数据类型[] 数组名 ={值1,值2,值3…}; (推荐: 编写简单)
5.用法
- 操作数组中的数据:
- 数组名[下标]
- 数字中的长度:length
- 数组名.length
- 数组中的第一个数据的索引 0 ,最后一个数据的索引 数组名.length-1
6.数组的遍历:
- 依次拿出数组里的每一个数据
//静态初始化
double[] arr5={1.1,2.2,3.3,4.4};
//普通for循环,遍历数组
for( int i=0; i<=arr5.length-1; i++){
System.out.println(arr5[i]);
}
//增强for循环,遍历数组
for( double d: arr5){
System.out.println(d);
}
7.数组中的异常
- 数组索引越界异常:ArrayIndexOutOfBoundsException
- 如果使用了不存在的索引,会出现这个异常
- 空指针异常: NullPointerException
- 没有真的指向数组对象,而指向的null
public class ArrayDemo10 {
public static void main(String[] args){
int[] arr=new int[]{1,2,3,4,5};
//数组索引越界异常
System.out.println(arr[6]);
//空指针异常
arr=null;
System.out.println(arr[3]);
}
}