一、 概念
数组是相同类型的变量集合,按统一的方式进行操作。
数组是一种用于存储数据的方式,能存数据的地方我们称之为容器,容器里装的东西就是数组的元素, 数组可以装任意类型的数据,虽然可以装任意类型的数据,但定义好的数组只能装一种元素, 也就是数组一旦定义,里边存储的数据类型也就确定了。
二、 数组的好处
要存储大量的数据,如需读取1000个数,那么就需要定义1000个变量,显然重复写1000次代码,是没有意义的。
于是为解决这个问题,Java语言就提供了数组(array)的数据结构,是一个容器可以存储相同数据类型的元素,可以将1000个数存储到数组中。给存储进来的元素自动进行编号. 编号是从0开始。方便操作这些数据。
特点: 数组长度是固定的。
三、 一维数组的格式
1.元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
示例:int[] a= new int[4]; a 是引用类型中的数组类型。
2.元素类型[] 数组名 = new 元素类型[]{元素,元素,……};
示例:int[] a= new int[]{3,5,1,7};
int[] a= {3,5,1,7};
new 可在内存中产生一个容器实体,数据要存储是需要有空间,存储数据的空间就new 操作符来开辟,new int[4]; 这个4是元素的个数。
如果数组初始化中不使用运算符new。
初始化数组,必须将声明,创建,初始化都放在一条语句中个,分开会产生语法错误。所以只能如下写:
int[] a={1,2,3,4,5};
四、数组遍历
public static void main(String[] args) {
int[] x = { 1, 2, 3 };
for (int y = 0; y < x.length; y++) { //数组的长度:数组名.length
System.out.print(x[y]+" ");
} // 常见操作遍历
}
五、二维数组
实质就是存储一维数组。
1.数组定义:
数组类型[][] 数组名 = new 数组类型[一维数组的个数][每一个一维数组中元素的个数];
遍历: toString() 将数组的元素以字符串的形式返回
排序: sort() 将数组按照升序排列
查找: binarySearch()在指定数组中查找指定元素,返回元素的索引,如果没有找到返回-1 注意:使用查找的功能的时候,数组一定要先排序。
2.数组中最常见的问题:
1. NullPointerException 空指针异常
原因: 引用类型变量没有指向任何对象,而访问了对象的属性或者是调用了对象的方法。
2. ArrayIndexOutOfBoundsException 索引值越界。
原因:访问了不存在的索引值。
数组角标越界异常:,注意:数组的角标从0开始