1.数组是一种最简单的复合(引用)数据类型,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素,数组包括一维数组和多维数组。
2.一维数组的声明。 int a[]; 或者 int[] a;系统将a初始化为null,此时数组a没得到存储空间,在声明中不允许指定维数。
3.使用new运算为数组分配空间:数组名 = new 类型[数组长度]; 如: a = new int[5];其中a 是已经声明的整型数组,使用new分配存储空间时,必须指明数组元素的类型和个数。也可以采用一个语句完成:int a = new int[5];
4.如果数组元素的类型是基本数据类型,数组元素都自动初始化为缺省值。上述a中的每个元素值都是0。
5.可在声明数组的同时,为数组赋值,这时就不用显示地使用new运算了。int a[] = {1,2,3,4,5};
6.数组下标从0开始。
7.几点需要注意的地方:
(1)所有的数组都有一个length属性,该属性存储了数组元素的个数。
(2)java编程环境会自动检查数组下标是否越界。
(3)一旦生成数组,大小不可改变。即java不支持变长数组,但是,可重新为数组分配空间,原来数组元素的值不再存在。
(4)java中,数组是独立的类,有自身的方法和属性,数组不是变量的集合。
8.多维素组被看作数组的数组。二维数组定义方式:type arrayName[][]; 如: int a[][];同一维数组一样,数组元素也没有分配内存空间,要使用运算符new来分配内存,然后才能访问每个元素。
9.高维数组分配内存空间有以下几种方法:
(1)直接为每一维分配空间:int a[][]=new int[2][3]; 或者 int a[][]; a = new int[2][3];
(2)从最高维开始,分别为每一维分配空间: int a[][]=new int[2][]; a[0] = new int[3]; a[1] = new int[3];
10.数组的引用可以是整型常数或表达式,都从0开始。
11.数组初始化:int a[][] = {{2,3}, {1,5}, {2,2}}; 定义了一个3*2的数组。即每个数组中的数组是按列的。
12.当数组作为方法的参数传递时,传递的是对于数组的引用,因此在方法中对数据进行的操作会影响到原来的数组。