PAGE5
《面向对象程序设计》教案
第13讲
教学对象
计算机科学技术专业
授课内容
第5章数组
5.4java.util.Arrays类
5.5案例学习——桥牌随机发牌
课程标准
教学目标
(一)知识目标
1.了解java.util.Arrays类的应用
2.掌握java.util.Arrays类的复制、排序、元素的查找、比较、填充
(二)能力目标
1.通过探究数组的应用和使用方法,提高学生编程能力
2.通过探究Arrays类的应用和使用方法,提高学生编程能力
3.理解软件开发的新方法,使用这种方法开发的软件具有可复用、易维护和可扩展等特性
教学方法
采用讲授法、演示法、讨论法、案例教学。
学时及分配(第1学时50分钟)
课堂讲授20分钟
课堂实践30分钟
5.4java.util.Arrays类
学时及分配(第2学时50分钟)
课堂讲授20分钟
课堂实践30分钟
5.5案例学习——桥牌随机发牌
知识点分析
重点:
java.util.Arrays类的复制、排序、元素的查找、比较、填充
难点:
java.util.Arrays类的排序
教学过程设计
内容
方式
问题导入:
java.util.Arrays类定义了若干静态方法对数组操作,极大方便了程序员。本节我们来学习Arrays类提供的方法。
内容要点
5.4java.util.Arrays类
java.util.Arrays类定义了若干静态方法对数组操作,包括对数组排序、在已排序的数组中查找指定元素、数组元素的拷贝、比较两个数组是否相等、将一个值填充到数组的每个元素中。
publicstaticintbinarySearch(int[]a,intkey):根据给定的键值,查找该值在数组中的位置,如果找到指定的值,则返回该值的下标值。如果查找的值不包含在数组中,方法的返回值为(-插入点-1)。插入点为指定的值在数组中应该插入的位置。
publicstaticvoidsort(int[]a):对数组a按自然顺序排序。
publicstaticvoidsort(int[]a,intfromIndex,inttoIndex):对数组a中的元素从起始下标fromIndex到终止下标toIndex之间的元素排序。
publicstaticdouble[]copyOf(double[]original,intnewLength):方法的original参数是原数组,newLength参数是新数组的长度。
publicstaticvoidfill(int[]a,intval):用指定的val值填充数组a中的每个元素。
publicstaticbooleanequals(boolean[]a,boolean[]b):比较布尔型数组a与b是否相等。
publicstaticStringtoString(int[]a):将数组a的元素转换成字符串,它有多个重载的版本,方便对数组的输出。
5.4.1数组的复制
使用Arrays类的copyOf()方法和copyOfRange()方法将一个数组中的全部或部分元素拷贝到另一个数组中。有10个重载的copyOf()方法,其中8个为各基本类型的,2个为对象类型的。下面给出几个方法的格式。
staticboolean[]copyOf(boolean[]original,intnewLength)
staticdouble[]copyOf(double[]original,intnewLength)
staticTT[]copyOf(T[]original,intnewLength)
下面代码创建了一个包含4个元素的数组,将numbers的内容复制到它的前三个元素中。
int[]numbers={3,7,9};
int[]newArray=Arrays.copyOf(numbers,4);
也可以将新数组重新赋给原来的变量:
numbers=Arrays.copyOf(numbers,4);
5.4.2数组的排序
使用Arrays的sort()方法可以对数组元素排序。对于基本数据类型,按数据的升序排序。对于对象数组的排序要求数组元素的类必须实现Comparable接口,若要改变排序顺序,还可以指定一个比较器对象。
staticvoidsort(int[]a):对数组a按