数 组
Java中的数组长这样(定义数组)
int[] arr;//推荐 int arr[];
一、定义
数组是什么?
数组是相同类型的,用一个标识符名称封装到一起的一个对象序列或基本类型数据序列。简单来讲就是一组相同类型元素的集合。
为什么使用数组?
当需要存储大量数据,例如需要读取100个数,那么就需要定义100次变量,而数组就解决了这个问题,通过数组容器将相同类型的元素用一个标识符封装起来,方便存储和操作。
二、格式
格式1:元素类型[] 数组名 = new 元素类型[元素个数或数组长度]
如:
int[] arr = new int[10];
格式2:元素类型[] 数组名 = new 元素类型[]{元素,元素,元素,.....}
如:
int[] arr = new int[]{1,2,3,4}; int[] arr = {1,2,3,4};//特殊的初始化方式,存储空间分配(等价于使用new)由编译器负责。
三、优缺点
优点:
1、按照索引查询元素速度快
2、能存储大量数据
3、按照索引遍历数组方便
缺点:
1、根据内容查找元素速度慢
2、数组的大小一经确定不能改变。
3、数组只能存储一种类型的数据
4、增加、删除元素效率慢
5、未封装任何方法,所有操作都需要用户自己定义。
四、常见异常
空指针异常(NullPointerException)
通常是只创建了数组的引用而没有指向任何对象,且被其他对象或方法使用了。如:
static int[] arr; public static void main(String[] args) { for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } }
数组越界(ArrayIndexOutOfBoundsException)
数组的索引值是从0开始的,访问了不存在的索引值。如:
static int[] arr = { 1, 2, 3 }; public static void main(String[] args) { System.out.println(arr[-1]); System.out.println(arr[3]); }