1.1 数组1
数组存储相同类型值的序列。
1.2 声明
通过指出数组元素的数据类型和数组变量的名字来声明一个数组:
int[] a;
现在拥有了一个数组的引用a,但是这只是一个引用,并没有给数组对象本身分配存储空间,为了创建这样的存储空间,需要进行初始化操作。
1.3 初始化
可以通过使用new来创建一个数组
int[] a = new int[n];
每个数组都有一个“固有成员”length来表示数组的长度。
[]内的值表示了数组的长度,创建时n不一定是一个常量,也可以是一个变量,但是一旦创建完成,数组的长度就不能再改变。
创建一个数字和字符数组时,所有的元素都会被初始化成0,布尔型的数组则会被初始化成false,对象数组则为null,因此,对于存储对象的数组,在使用其中的元素之前一定要确保该元素(一个对象)已经被创建了。
可以通过使用大括号来对数组进行赋值:
int[] a = new int[]{1,2,3,4,5};
//或者简写为:
int[] a = {1,2,3,4,5};
初始值的个数会被自动统计,不需要在[]中填入长度。
事实上,可以以这种方式重新初始化一个数组。
1.4 数组复制
可以将一个数组赋值给另一个数组:
public class CopyArray {
public static void main(String[] args){
int[] array1 = {1,2,3,4,5};
int[] array2 = array1;
for (int i = 0;i < array2.length;i++){
array2[i]++;
}
for (int i = 0;i < array1.length;i++){
System.out.println("array1[" + i + "] = " + array1[i]);
System.out.println("array2[" + i + "] = " + array2[i]);
}
}
/*
out:
array1[0] = 2
array2[0] = 2
array1[1] = 3
array2[1] = 3
array1[2] = 4
array2[2] = 4
array1[3] = 5
array2[3] = 5
array1[4] = 6
array2[4] = 6
*/
}
经过array2 = array1;的赋值语句后两个数组变量指向同一个数组,修改任何一个都会影响到另一个。
如果只是单纯地想要复制一个数组的值到另一个数组当中去,可以使用Arrays类的copyof方法。
1.5 Arrays类
这个类包含各种处理数组的静态方法(例如排序和搜索),在java.util中,包含了对数组进行排序的sort方法和进行二分查找的bianrySearch方法。
1.6 多维数组
Java中多维数组可以理解为“数组的数组”。另外,利用数组初始化时指定长度时可以使用变量的特点,可以构造不规则数组。这里不予详述。
文章内容参考自《Java编程思想》《Java核心技术》,网络以及自己的思考,主要作为自己整理的笔记使用。理解上表达上可能存在错误,欢迎指正。 ↩︎