介绍
数组是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来唯一确定数组中的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。
总的来说,数组具有以下特点:
- 数组可以是一维数组、二维数组或多维数组。
- 数值数组元素的默认值为 0,而引用元素的默认值为 null.
- 交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null。
- 交错数组元素的维度和大小可以不同。
- 数组的索引从 0 开始,如果数组有n 个元素,那么数组的索引是从 0 到(n-1)。
- 数组元素可以是任何类型,包括数组类型。
- 数组类型是从抽象基类 Array派生的引用类型。
创建一维数组
为了在程序中使用一个数组,必须声明一个引用该数组的变量,并指明整个变量可以引用的数组类型。声明一维数组的语法格式为:
数据类型数组名[]; //声明数组
或者
数据类型[]数组名; //声明数组
以上两种格式都可以声明一个数组,其中的数据类型既可以是基本数据类型,也可以是引用数据类型。数组名可以是任意合法的变量名。声明数组就是要告诉计算机该数组中数据的类型是什么。例如:
int[] score; //存储学生的成绩,类型为整型
double[] price; //存储商品的价格,类型为浮点型
String[] name; //存储商品名称,类型为字符串型
在声明数组时不需要规定数组的长度,例如:
int score[10]; //这是错误的
最常见的是下面这种
int[ ] arr={12,3,4,8,5,6,6,7,8,8,9,8};
int[ ] arr=new int[5];
注意:在声明数组变量时千万不要漏写[]。
创建二维数组
在 Java 中二维数组被看作数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。Java 并不直接支持二维数组,但是允许定义数组元素是一维数组的一维数组,以达到同样的效果。声明二维数组的语法如下:
type array[][];
type[][] array;
其中,type 表示二维数组的类型,array 表示数组名称,第一个中括号表示行,第二个中括号表示列。
下面分别声明 int 类型和 char 类型的数组,代码如下:
int[][] age;
char[][] sex;
初始化二维数组
二维数组可以初始化,和一维数组一样,可以通过3种方式来指定元素的初始值。这 3 种方式的语法如下:
array=new type[][]{值 1,值 2,值 3,…,值 n};
array=new type[][]{new 构造方法(参数列),…};
type[][] array={{第1行第1列的值,第1行第2列的值,…},{第2行第1列的值,第2行第2列的值,…},…};
使用第一种方式声明 int 类型的二维数组,然后初始化该二维数组。代码如下:
int[][] temp;
temp=new int[][]
{
{1,2},{3,4}
};
上述代码创建了一个二行二列的二维数组 temp,并对数组中的元素进行了初始化。图 1 所示为该数组的内存结构。
关于数组还有其他更深的东西,以后再说慢慢来。