Java程序设计基础教案.pdf
7.1数组
如果我们现在有一个需求,需要统计一个班级的成绩情况,例如计算平均成绩,最高成绩
等。
设一个班有50名学生,程序首先需要声明50个变量来分别记住每位学生的成绩,这样
做会显得很麻烦,代码显得很臃肿。在Java中,可以使用一个数组来记住这50名学生的工资。
数组是指一组数据的集合,数组中的每个数据被称作元素,在数组中可以存放任意类型的
元素,但同一个数组里存放的元素类型必须一致。
数组可分为一维数组和多维数组,本节将围绕数组进行详细地讲解;
我们首先介绍数组的定义方式:可以使用以下格式来定义一个数组:int)〔iScore=new
int[50];这条语句就相当于在内存中定义了100个int类型的变量,第一个变量的名称为iScore
⑼,第二个变量的名称为iScore[l],依此类推,第50个变量的名称为iScore[49],这些变量的初始
值都是0;
为了更好地理解数组的这种定义方式,可以将上面的一句代码分成两句来写,具体如下:
int[]iScore;iScore=newint[50];
如图我们介绍数组在创建过程中内存的分配情况;
第4行代码int[]iScore;声明了一个变量iScore,该变量的类型为int即一个int类型的数
组:变量iScore会占用一块内存单元,第二行代码iScore=newint[50J;创建了一个数组,并
将数组的苜地址0xl5db9742斌值给变量iScore;这个数组包含了50个int类型元素,初始
值为0;
数组中的每个元素都有一个索引,要想访问数组中的元素可以通过iScore⑼、iScore⑴…
iScore[49]的形式:iScore[0]实际上就是数组的首地址0xl5db9742:iScore[49]就是数组的
最后一个元素地址0xl5db980:数组中最小的索引是0,最大的索引是“数组的长度-1”:
如图是数组的访问实例;声明了一个变量iScore,并创建了数组对象,在第行代码中通
过length属性访问数组中元素的个数。在7-10行代码中通过角标来访问数组中的元素,从打
印结果可以看出,数组中的元素初始值都为0:数组被成功创建后,数组中元素会被自动赋予
一个默认值,int类型的默认初始化的值为0:
如图是数组的静态初始化实例;
Java中可以使用int[]iScore={5,75,85,95}的方式对数组中的元素进行初始化;
如图是数组动态初始化实例:
Java中可以使用int[]a=newint⑷的方式,创建一个4个元素的数组;此时数组中的元素默认
为0;第5行到第8行代码通过赋值语句将数组中的元素a[0]到a[4]的值分别赋值为
5,75,85,95;
数组在编写程序时应用非常广泛,灵活地使用数组对实际开发很重要。
接下来,将针对数组的常见操作进行详细讲解,主要介绍数组的遍历、获取最值、数组排
序;在操作数组时,经常需要依次访问数组中的每个元素,这种操作称作数组的遍历;
接下来通过一个案例来学习如何使用for循环来遍历数组,如图所示:
第5行到第9行代码创建一个4个元素的数组:通过赋值语句将数组中的元素a⑼到
a⑷的值分别赋值为5,75,85,95:第10-12行代码使用for循环完成了数组的遍历;for循环
中定义的变量i的值在循环过程中为0到3:因此可以作为索引,依次去访问数组中的元素,
并将元素的值打印出来:
在操作数组时,经常需要获取数组中元素的最值,接下来通过一个案例来演示如何获取数
组中元素的最小值,如图所示:
在第8行代码定义了getMin(