更新时间:2022-10-18 来源:黑马程序员 浏览量:
假如现在需要统计某公司员工的工资情况,例如,计算员工平均工资、最高工资等。假设该公司有50名员工,用前面所学的知识,程序首先需要声明50个变量分别存储每位员工的工资,这样做会比较麻烦。在Java中,可以使用一个数组存储这50名员工的工资。数组,是指一组类型相同的数据的集合,数组中的每个数据称为元素。数组可以存放任意类型的元素,但同一个数组里存放的元素必须类型一致。数组有一维数组和多维数组之分,下面展开说下数组的定义。
在Java中,声明数组的方式有以下两种。
第一种方式:
数组类型[] 数组名 = null;
第二种方式:
数据类型[]数组名; 数组名 = new数据类型[长度];
这两种语法本身没有任何区别,下面以第二种方式声明一个数组,如下所示:
int[] x; // 声明一个int[]类型的变量 x = new int[100]; // 为数组x分配100个元素空间
上述语句就相当于在内存中定义了100个int类型的变量,第一个变量的名称为x[0],第二个变量的名称为x[1],依次类推,第100个变量的名称为x[99],这些变量的初始值都是0。
第一行代码声明了一个变量x,该变量的类型为int[],即声明了一个int类型的数组。变量x会占用一块内存单元,它没有被分配初始值。变量x的内存状态如图2-38所示。
第二行代码x = new int[100];创建了一个数组,将数组的地址赋值给变量x。在程序运行期间可以使用变量x引用数组,这时变量x在内存中的状态会发生变化,如图2-39所示。
图2-39中描述了变量x引用数组的情况。该数组中有100个元素,初始值都为0。数组中的每个元素都有一个索引(也可称为角标),可以通过x[0],x[1],...,x[98],x[99]的形式访问数组中的元素。需要注意的是,数组中最小的索引是0,最大的索引是“数组的长度-1”。在Java中,为了便于获得数组的长度,提供了一个length属性,在程序中可以通过“数组名.length”的方式获得数组的长度,即元素的个数。
图2-38 变量x的内存状态
图2-39 变量x在内存中的状态变化