java中数组的作用是用来存储固定大小的同类型元素
数组变量的声明:
语法:
dataType[] arrayRefVar; // 首选的方法
或
dataType arrayRefVar[]; // 效果相同,但不是首选方法
创建数组:
Java中,使用操作符new来创建数组
arrayRefVar = new dataType[arraySize];
- 使用dataType[arraySize]创建了一个数组
- 把新创建的数组的引用赋值给变量arrayRefVer
数组变量的声明,可以和创建数组在用一条语句完成
dataType[] arrayRefVar = new dataType[arraySize];
或
dataType[] arrayRefVar = {value0,value1,value2,......,valuek}
处理数组:
数组元素的类型和数组的大小都是确定的,当处理数组元素的时候,通常使用基本元素或者foreach循环
数组作为函数的参数:
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
调用 printArray 方法打印出 3,1,2,6,4 和 2:
printArray(new int[]{3, 1, 2, 6, 4, 2});
数组作为函数的返回值:
public static int[] reverse(int[] list) {
int[] result = new int[list.length];
for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
result[j] = list[i];
}
return result;
}
result数组作为函数的返回值
多维数组:
多维数组可以看出是数组的数组,二位数组比较特殊,每一个元素都是一个一维数组
String str[][] = new String[5][4];
多维数组的动态初始化(以二位数组为例):
1.直接为每一维分配空间,格式如下:
type arrayName = new type[arraylenght1][arraylenght2];
arraylength1为行数,arraylength2为列数
2.从最高维开始,分别为每一维分配空间
String s[][] = new String[2][];
s[0] = new String[2];
s[1] = new String[3];
s[0][0] = new String("Good");
s[0][1] = new String("Luck");
s[1][0] = new String("to");
s[1][1] = new String("you");
s[1][2] = new String("!");
s[0]=new String[2] 和 s[1]=new String[3] 是为最高维分配引用空间,也就是为最高维限制其能保存数据的最长的长度,然后再为其每个数组元素单独分配空间 s0=new String("Good") 等操作。
多维数组的引用:
引用方式为 arrayName[index1][index2]
Arrays类:
java.util.Arrays 类能方便的操作数组,他提供的所有方法都是静态的
功能如下:
- 给数组赋值:通过fill方法
- 对数组排序:通过 sort 方法,按升序
- 比较数组:通过 equals 方法比较数组中元素值是否相等
- 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作