PAGE5
《面向对象程序设计》教案
第14讲
教学对象
计算机科学技术专业
授课内容
数组
5.6二维数组
5.7案例学习——打印10行杨辉三角形
5.8案例学习——打印输出魔方数
课程标准
教学目标
(一)知识目标
1.了解二维数组的应用
2.掌握二维数组的定义和使用
3.了解数组初始化器
4.了解不规则二维数组
(二)能力目标
1.通过探究二维数组的应用和使用方法,提高学生编程能力
2.理解软件开发的新方法,使用这种方法开发的软件具有可复用、易维护和可扩展等特性
教学方法
采用讲授法、演示法、讨论法、案例教学。
学时及分配(第1学时50分钟)
课堂讲授30分钟
课堂实践20分钟
5.6二维数组
5.6.1二维数组的定义
5.6.2数组元素的使用
5.6.3数组初始化器
5.6.4不规则二维数组
学时及分配(第2学时50分钟)
课堂讲授20分钟
课堂实践30分钟
5.7案例学习——打印10行杨辉三角形
5.8案例学习——打印输出魔方数
知识点分析
重点:
二维数组的定义和使用
难点:
不规则二维数组的使用
教学过程设计
内容
方式
问题导入
Java语言中数组元素还可以是一个数组,这样的数组称为数组的数组或二维数组。
有5名学生学年考试成绩如下表所示:
科目1科目2科目3科目4
80757893
67879865
86726076
76807663
82709067
编写程序,使用二维数组存储学生成绩,并完成下列操作:
(1)计算并输出每名学生的总成绩。
(2)打印输出总成绩最高的行号及总成绩。
(3)打印输出每科最高分及所在行号。
这个问题就应该使用二维数组实现。
内容要点
5.6.1二维数组定义
二维数组的使用也分为声明、创建两个步骤。
1.二维数组声明
二维数组有下面三种等价的声明格式:
推荐使用第一种格式元素类型[][]数组名;
推荐使用第一种格式
元素类型数组名[][];
元素类型[]数组名[];
这里,元素类型可以是基本类型,也可以是引用类型,数组名为合法的变量名。推荐使用第一种格式声明二维数组。下面语句声明了一个整型二维数组matrix和一个String型二数组cities。
int[][]matrix;
String[][]cities;
2.创建二维数组
创建二维数组就是为二维数组的每个元素分配存储空间。系统先为高维分配引用空间,然后再顺次为低维分配空间。二维数组的创建也使用new运算符,分配空间有两种方法,下面是直接为每一维度分配空间。
varmatrix=newint[2][3];//直接为每一维分配空间
这种方法适用于数组的低维具有相同个数的数组元素。在Java中,二维数组是数组的数组,即数组元素也是一个数组。上述语句执行后创建的数组如图5-11所示,二维数组matrix有两个元素,matrix[0]和matrix[1],它们又都是数组,各有三个元素。图5-11中共有三个对象:matrix、matrix[0]和matrix[1]。
创建了二维数组后,它的每个元素被指定为默认值。上述语句执行后,数组matrix的6个元素值都被初始化为0。
在创建二维数组时,也可以先为第一维分配空间,然后再为第二维分配空间。
varmatrix=newint[2][];//先为第一维分配空间
matrix[0]=newint[3];//再为第二维分配空间
matrix[1]=newint[3];
5.6.2数组元素的使用
访问二维数组的元素,使用下面的形式:
数组名[下标1][下标2]
其中,下标1和下标2可以是整型常数或表达式。同样,每一维的下标也是从0到该维的长度减1。
下面代码给matrix数组元素赋值:
matrix[0][0]=80;
matrix[0][1]=75;
matrix[0][2]=78;
matrix[1][0]=67;
matrix[1][1]=87;
matrix[1][2]=98;
下面代码输出matrix[1][2]元素值:
System.out.printl