内容正文:
06
数 组
任务目标
1. 能够掌握一维数组的定义和使用,根据编程需要灵活使用一维数组;
2. 能够掌握多维数组的定义和使用,主要是二维数组;根据编程需要灵活使用二维数组;
3. 做一个有“组织”的数据,方便组织统一管理。
一、一维数组
(一) 一维数组的声明
一维数组的声明方式有两种:
数据类型 [] 数组名 ;
数据类型 数组名 [];
数据类型可以是 Java 中的任意数据类型,数组名应为一个合法的标识符, [] 指明这是一个数组。这两种定义没有任何区别,大家可以根据自己的习惯选用。
(二)一维数组的初始化
在使用已经声明好的数组之前,需要对其进行初始化操作,即为数组分配内存空间,并为每个数组元素设置一个默认的初始化值。这里需要使用到运算符 new,其格式如下:
数组名 = new 数据类型 [ 数组长度 ]
通常可以将数组的声明和初始化操作合为一步完成,例如:
int MyArray[] = new int[10];
这里声明了一个整型数组 MyArray,并指定它的长度为 10,同时分配一块内存空间,供数组使用,其元素个数为 10。且此时数组中每个元素的值为 int 类型的默认初始值 0。
数组在创建时,每个元素都有相同的默认值。不同类型数组的默认值如表 2-15所示。
另外,还可以在数组声明时为数组元素定义另外的初始值。
(三)一维数组的使用
可以通过下面的格式访问数组中的任意一个元素:
数组名 [ 下标 ]
前面我们知道了, Java 中数组的下标是从 0 开始的,最大到数组长度减 1。另外,Java 要对数组元素进行越界检查以确保程序的安全性,如果发现下标越界,程序会抛出
ArrayIndexOutOfBoundsException 异常。
二、多维数组的使用
Java 中的多维数组可以看作数组的数组。例如对二维数组而言,其本身是一个一维数组,数组中的每一个元素又是一个一维数组。
(一)二维数组的声明
二维数组的声明方式为:
数据类型 数组名 [][];
与一维数组一样,这时的数组元素也没有分配内存空间,同样要对数组进行初始化后,才能够访问数组中的每一个元素。
(二)二维数组的初始化
对二维数组来说,分配内存空间有两种方法。一种是直接分配,即一次性指定两个维数上的长度,另一种是在一维数组的基础上,为第二维分配空间。
第一种
int buffer[][] = new int[3][4];
第二种
int a[][] = new int[3][];
a[0] = new int[3];
a[1] = new int[4];
a[2] = new int[5];
int[][] allRecord = {{70,85},{59,65},{59,60},{90,95},{65,50},{50,50}};
(三)二维数组的使用
同一维数组类似,可以通过给出二维数组的两个下标来访问数组中的元素。与一维数组类似,多维数组通常也和 for 循环配合使用,以访问多维数组中的每一个元素,只是根据数组维数的多少,而使用多重循环来达到目的。多维数组的定义和使用与一维数组基本一致,只是由于多维数组的复杂性,在使用过程中要多加注意。
$$