数组是一组类型相同的相关变量。可以作为变量存储的任何类型的信息都能够成为存储在数组中的项目。与单个变量相比,数组可记录更复杂的信息类型,但创建和使用数组同变量一样简单。
创建数组
数组与变量的不同之处在于多了一对方括号:"["和"]"。使用new语句,或者将初始值放在大括号"{" 和 "}" 之间。
String[] reindeerNames = {"aaa", "bbb"};
int value[] = new int[250];
注意:在创建数组时,JAVA在方括号的位置方面比较灵活,可以将方括号放在变量名后面,而不是放在变量类型的后面。如:String niceChild[];
使用new语句创建数组时,必须指定元素的个数。而且数组中的每个元素都将赋给一个初始值,初始值取决于数组的类型。对于所有数值型数组,初始值为0,字符型数组的初始值为‘\0‘,布尔型数组的初始值为false,字符串数组和所有其他对象数组的初始值为null。
要存储到数组元素中的信息放在"{"和"}"之间,之间用逗号隔开。数组中元素的个数也就是用逗号隔开的元素数。
数组元素是有编号的,第一个元素的编号是0。
使用数组
在程序中使用数组就像使用变量一样,只是需要在靠近数组名的方括号内指定元素编号。你可以在允许使用变量的任何地方使用数组元素。
数组的第1个元素的编号为0,而不是1。这意味着最大的元素编号比你想象的小1。
length()是一个整型变量,包含数组能容纳的元素数。
将字符串中的每个字符放在字符数组的一个元素中,可使用toCharArray()方法,它生成一个字符数组,该数组包含的元素数与字符串长度相同。
多维数组
除了一维数组外,有些类型的信息需要使用多维数组来存储,如(x, y)坐标系的点,其中数组的一维用于存储x坐标,另一维用于存储y坐标。
创建二维数组,必须在创建和使用数组时多加一对方括号。
int valueArr[][] = new int[50][50];
根据需要,数组可以有任意多维数。但别忘了,如果数组的维数很多,将占用大量的内存。
对数组排序
在JAVA中对数组排序很空易,因为Arrays类提供了这种功能。Arrays类位于java.util中,它可以对任何类型的数组进行排序。
使用Arrays类的sort()方法对数组进行排序后,其中的值按数字升序排列。字符和字符串将字母顺序排序。如:
String names[] = {"Glimmer", "Marvel", "Rue", "Clove", "Thresh", "Foxface", "Cato",
"Peeta", "Katniss"};
System.out.println("The original order:");
for (int i = 0; i < names.length; i++) {
System.out.println(i + ": " +names[i]);
}
System.out.println();
Arrays.sort(names);
System.out.println("The new order:");
for (int i = 0; i < names.length; i++) {
System.out.println(i + ": " + names[i]);
}
System.out.println();
如果使用字符串或基本类型(如整数和浮点数)变量时,通过Arrays类的方法只可按升序进行排序。如果要按其他顺序排列或希望排序效率比Arrays类高,可以自己编写代码来实现。
对字符串中的字符计数