数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。
在JAVA中,当一个数组给创建,那么这个数组就有一个固定的长度。每一个在数组终的个体,我们称其为元素,每一个元素在数组中都有一个对应的索引号码。而这个索引号码,从0开始计数,也就是说第一个数组中的元素,他的索引号码是0. 如下面这个例子:
我们创建了一个数长度为10的数组,那么10个元素对应的号码从0开始,一直到9结束。假设我们需要找第九个元素,那么我们因该用所以号码八去找这个元素。
下面这个例子是在JAVA变成中,创建一个整数型数组的全过程,当然这个在实际的变成环境下,我们更多用的是循环来自动创建一个数组,而不是一行一行的把数组的元素输入。
class ArrayDemo { public static void main(String[] args) { int[] anArray; // 声明一个整数型数组 anArray = new int[10]; // 给10个整数分配内存 anArray[0] = 100; // 初始化第一个元素 anArray[1] = 200; // 初始化第二个元素 anArray[2] = 300; // 同上。 anArray[3] = 400; anArray[4] = 500; anArray[5] = 600; anArray[6] = 700; anArray[7] = 800; anArray[8] = 900; anArray[9] = 1000; System.out.println("Element at index 0: " + anArray[0]); System.out.println("Element at index 1: " + anArray[1]); System.out.println("Element at index 2: " + anArray[2]); System.out.println("Element at index 3: " + anArray[3]); System.out.println("Element at index 4: " + anArray[4]); System.out.println("Element at index 5: " + anArray[5]); System.out.println("Element at index 6: " + anArray[6]); System.out.println("Element at index 7: " + anArray[7]); System.out.println("Element at index 8: " + anArray[8]); System.out.println("Element at index 9: " + anArray[9]); } }
程序输出结果为:
Element at index 0: 100 Element at index 1: 200 Element at index 2: 300 Element at index 3: 400 Element at index 4: 500 Element at index 5: 600 Element at index 6: 700 Element at index 7: 800 Element at index 8: 900 Element at index 9: 1000
如何申明一个数组
上面的例子向我们展示了申明一个整数型数组。而一个数组的声明,可以通过如下格式:
int[] anArray;
数组的类型跟一组空的终括号,最后加上数组的名字。还有另外一种方式用来声明数组,那就是把中括号放到数组名字的后面,而更改数组的类型,可以和定义变量的类型一样,如:
float anArrayOfFloats[];
下面这个列表是所有可创建的数组类型:
byte[] anArrayOfBytes; short[] anArrayOfShorts; long[] anArrayOfLongs; foat[] anArrayOfFloats; double[] anArrayOfDoubles; boolean[] anArrayOfBooleans; char[] anArrayOfChars; String[] anArrayOfStrings;
数组的创建,初始化以及访问
数组的创建和初始化可以有两种方式,上面的例子是第一种方式:
anArray = new int[10]; // create an array of integers
通过new来新建一个数组,用int指出其包含的元素类型,以及后面终括号中的数字,限定了数组的长度。接下来在通过如下方式来给数组添加元素:
anArray[0] = 100; // initialize first element anArray[1] = 200; // initialize second element anArray[2] = 300; // etc.
这里可以发现,在数组名字后面的中括号中,我们加入了索引号码,也就是说,anArray[0]我们在第一个位置添加第一个元素。从读取或者说访问角度来说,我们也同样使用数组名加中括号和索引数字来读取相对的元素。
而另一种建立数组的方式是:
int[] anArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};
格式很简单,这个方法是直接把数组进行定义,并且直接给定数组长度和数组元素。我们在大括号中添加数组的元素,100,200,300等等都是数组的元素,而所有元素的个数就是这个数组的长度了。
多层数组的建立
在java编程语言中,我们可是定义一个多层数组。就是一个数组中有多个数组。如下:
第一种方法:声明数组 int[][] anArrays
第二种方法:int[][] anArrays = {{1,2,3,4,5,6,7},{2,1,3,4,5,6},{5,3,3,1,2,3,4,}}
数组的拷贝:
java语言提供了一个模块arraycopy来拷贝一个数组到另外一个数组。
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
在上面的语法规则中,我们能看到2个Object,他们分别是:第一个Object是原始数组,第二个Object是对象数组。而里面有3个int,分别是:第一个int,原始数组的第几个位置;第二个int,对象数组的位置;第三个int,复制的元素个数。