题型:一.填空题(1*36=36分)二.选择题(2*10=20分)三.程序填空(2*9=18分)四.程序阅读(1*4=4分)五.编程题(10+12=22分)考试时间:18周周三下午考试地点:计算机1班——A3-108,计算机2班——A3-109,信息班A3-101考试总分:100分一.填空题(课件上红色字体标记部分,也可参阅后面“附录”部分,是一样的。)二.选择题(均为单选,书后选择题部分,其中有些题目答案是错的,正确答案已放至FTP的“下载”文件夹中——“Java”文件夹中——“书后答案.doc”,也可参阅如下所示内容,是一样的。)以下是书后习题中选择题的正确答案:(选择题的复习范围已经在复习提纲中进行了说明。)2-13AD3-2D3-3A4-9D4-11B、C、D4-15D7-17D三.程序填空(略)四.程序阅读(第六章书后练习题)五.编程题(第八章书后习题3——6题,第九章书后习题4——8题和下列编程题)1.从数组元素中找出最大值并返回。2.在Applet小程序中输入一段字符串,用三个按钮控制字符串的放大和缩小和还原。填空题部分的复习内容如下:第一章Java可以编写嵌入在Web网页中运行的JavaApplet小程序,也可以编写独立运行的JavaApplication应用程序。Java语言由语法规则和类库两大部分组成。Applet运行时的窗口界面是由浏览器提供的,不能脱离浏览器而独立运行。运行Application应用程序需要Java运行环境JRE。SDK和JDK为Java的开发环境,JDK是SDK的发展。JRE是Java程序的运行平台,其中与底层操作系统连接的是JVM。编译器javac.exe解释器java.exeApplet查看器appletviewer.exe要编写Java程序,需要使用文本编辑器,也可选择Editplus编辑软件。Java源程序编写后生成的是.java文件,要使用Java编译器(javac.exe)进行编译,将Java源程序编译成计算机可执行的.class字节码文件。第二章在Java中变量以及类和方法都需要一定的名称,这种名称就叫做标识符。所有的标识符都必须以一个字母、下划线或美元符号“$”开头,后面的字符可以包含字母、数字、下划线和美元符号。常量用大写字母,下划线常用于常量名单词分隔。变量用小写字母开始,如果一个变量名由多个单词构成,第一个单词后面的单词以大写字母开始,例如anInt。类以大写字母开始。Java严格区分字母大小写,标识符中的大小写字母被认为是不同的两个字符。分号,是Java语句结束的标志。Java的数据类型可分为:基本类型、数组类型、复合类型。布尔型(Boolean)的取值只有两个:true和false。字节型即Byte型。常量用final声明,常量与变量的区别是前者不占用内存。Java约定常量名称用大写字母。布尔常量只有两个值true和false。十进制常量以非0开头后跟多个0~9之间的数字;八进制以0开头后跟多个0~7之间的数字;十六进制则以0X开头后跟多个0~9之间的数字或a~f之间的小写字母或A~F之间的大写字母。字符常量是由一对单引号括起来的单个字符。如:’a’,’Z’。字符串常量是用一对双引号括起来的字符序列。例如Hello\nworld!变量在程序中为一个标识符,在内存中是一块空间,变量具有三个元素:类型、名字和值。Java中有两种变量:成员变量,局部变量。在类中声明的变量称为成员变量,通常在类开始处声明,可在整个类中使用。在方法或块(块由两个大括号所定义)中声明的变量称为局部变量。在该块中起作用。局部变量在声明时一定要初始化,即赋初值。否则,程序运行时将出错。变量类型强制转换的格式为:(数据类型)数据表达式。关系表达式的运算结果为布尔值,不是true就是false。逻辑表达式通常由多个关系表达式构成,最终运算结果为布尔值true或false。位运算的操作数仅限于整数(char、short、int、long),以二进制形式进行,运算结果为一个整数。new运算符:为类创建相应的类对象。数组有一维数组和多维数组,使用时要先声明后创建。第三章Java源程序一般包括两部分:Java包引入(如果有的话)部分和类定义部分。类定义由类声明语句和类体组成。Java语句一般分为说明性语句和操作性语句两种类型。Java的说明性语句包含包和类引入语句、声明类语句、声明变量语句、声明对象语句等。Java的操作性语句包含表达式语句、复合语句、选择语句和循环语句、跳转语句等。复合语句也称为块(block)语句,是包含在一对大括号“{}”中的任意语句序列。第四章对象是现实世界对象的抽象模型。从现实世界对象中抽象出来的对象,一般通过变量描述其状态,通过方法实现其行为。Java编程就是设计类,可以采用自定义方法或继承方法设计一个类,然后使用它的实例对象完成具体的功能。所有层次的类都是从Object类那里直接或间接地衍生下来的。Java中一个类只有一个父类。在Java中,接口就是为两个不相关的类提供交流的设备。Java程序的所有数据类型都是用类来实现的,Java语言是建立在类这个逻辑结构之上,所以Java是一种完全面向对象的程序设计语言。公共类可以被任何包中的类使用。同一个源程序文件中只能有一个public类。带有private修饰符的类,称为私有类,是访问限制最窄的修饰词,只能被该类的对象访问,其子类不能访问,更不能跨包访问。带有protect修饰符的类,称为保护类,能被该类的对象与子类访问,即使子类在不同包中也可以。带有default修饰符的类,称为默认类,与没有任何修饰符相同,默认情况下,类只能被同一个包中的其他类访问。abstract说明的类称为抽象类,不能用它实例化一个对象,它只能被继承。例如:接口类。final说明的类称为最终类。一个最终类不可能有子类,也就是说它不能被继承。例如String。extends告诉编译器创建的类是从父类继承下来的子类,父类必须是Java系统类或已经定义的类。implements告诉编译器类实现的接口,接口必须有定义,一般为系统类。implements说明你的类可以实现的一个或多个接口,如果有多个接口,要用逗号分隔。类是对象的产品模板。Java运行的应该是用类创建的实例化对象。创建对象语句有三个组成部分:声明对象、实例化、初始化。当用new创建了一个对象时,系统会为对象中的变量进行初始化。对象的初始化任务要靠构造方法来完成。使用对象的任何成员时都要加上引用。即在变量和方法的前面加上对象名,并用圆点分隔。格式为:对象名.变量名对象名.方法名封装是抽象的具体实现。封装就是用操作方法把数据封闭到类中,形成以数据为核心,以方法为外壳的类。封装能保护类的数据免受外界的更改。封装的结果是形成了独立的和完整的程序模块。由public修饰的变量称为公共变量。由private修饰的变量称为私有变量,只能被声明它的类所使用,拒绝任何外部类的访问。由protected修饰的变量称为受保护变量,可被声明它的类和派生的子类以及同一个包中的类访问。由package修饰的变量称为包变量,在声明时常常省略package关键字。包成员可被声明它的类和同一个包中的其它类(包括派生子类)所访问。静态变量称为类变量,非静态变量称为实例变量。相应地,静态方法称为类方法,非静态方法称为实例方法。类中的常量成员一般定义为静态常量。类的静态变量可以直接引用,静态方法只能使用静态变量,类的静态变量只有一个版本,所有实例对象引用的都是同一个版本。一旦成员变量被声明为final,在程序运行中将不能被改变。这样的成员变量就是一个常量。对象的行为由类的方法实现。方法被声明为最终方法后,将不能被子类覆盖,即最终方法能被子类继承和使用但不能在子类中修改或重新定义它。所谓抽象方法是指不能实现的方法,因为它没有方法体。系统定义的接口都是抽象类,里面的方法都是抽象方法。如果方法没有返回值就用关键字void作为返回值类型。同一个类中的方法同名现象在OOP中称为方法重载(overload)。第五章最顶端的类是Object,是所有类的始祖。子类只能有一个父类。如果省略了extends,子类的父类是Object。所谓隐藏是指子类重新定义了父类中的同名变量。如果子类的方法与父类方法同名,则不能继承,此时称子类的方法覆盖了父类的那个方法,简称为方法覆盖。用来覆盖的子类方法应和被覆盖的父类方法保持同名、同返回值类型,以及相同的参数个数和参数类型。部分覆盖是在原方法的基础上添加新的功能,即在子类的覆盖方法中添加一条语句:super.原父类方法名,然后加入其它语句。this实际代表的是当前类或对象本身。调用父类的方法时必须加上super引用。this()也可用来间接调用当前类或对象的构造方法。类的多态性体现在方法的重载(overload)上,包括成员方法和构造方法的重载。所谓接口可以看作是没有实现的方法和常量的集合。在接口中定义的变量全部隐含为final和static,表明这些变量不能被实现接口方法的类改变,还必须设置初值。如果接口为public的,则接口中的方法和变量也全部为public。在Java语言中,不支持类的多重继承。但是支持接口的多重继承。当源程序中没有声明类所在的包时,Java将类放在默认包中,即运行编译器的当前文件夹中。提供基本数学函数的是Math数学类。用于字符串处理的是String类和StringBuffer类。java.awt包提供了创建图形用户界面的全部工具。java.applet是所有小应用程序的基础类库。它只包含了一个Applet类。第六章Java的异常处理机制是用来处理程序运行时的错误的有效机制。Java的异常处理机制分为两个步骤:抛出异常(常由系统自动抛出)和捕获异常(由相应代码处理)throws用来表明一个方法中可能抛出的各种异常,并说明该方法会抛出异常但不捕获的异常。即使没有catch子句,finally语句块也会在执行了try语句块后立即被执行,并且finally子句总是在返回前执行。不可检测的异常类是RuntimeException及其子类、Error及其子类。编译器对不可检测的异常类不进行检查。编译器对可检测的异常类进行检查,没有进行声明或捕获将出现编译错误。自定义异常类型是从Exception类中派生的。掌握异常处理代码的编写–捕获处理异常(try……catch……finally)–抛出异常(throw)–声明抛出异常(throws)第七章什么是Applet?Applet是一种特殊的Java程序,经过编译后可被嵌入到HTML文件中,并由Web浏览器内置的Java解释器执行。所有Applet都继承自同一个类:java.applet.Applet,这个类是Java语言的基础类,有关Applet的所有特性都被定义在这个类中。Applet可以从HTML的Applet标签中获取参数。java.lang有两个字符串类String和StringBuffer,封装了字符串的全部操作。其中String用来处理创建以后不再改变的字符串,StringBuffer用来处理可变字符串。Date主要用于创建日期对象并获取日期,Calendar可获取和设置日期,DateFormat主要用来创建日期格式化器。第八章所有的Swing组件都是JComponent抽象类的子类。窗口容器JFrame是一个用来创建窗口的类,使用JFrame类可以创建出在用户桌面上显示的窗口,同时它也是一个顶层的容器框架,在其中可以添加各种组件。对话框(Dialog类)是GUI中很常见的窗口对象,有着广泛的应用。对话框和普通窗口最大的不同就是对话框可以依附在某个窗口上的,一旦它所依附的窗口关闭了,对话框也要随着关闭。在对话框窗口中可以添加其他组件,所以它也是一个容器。面板(JPanel类)是一个无边框的容器,可以包容其他组件或另一个面板对象。面板与其他顶层容器不同,它是一个中间容器,它既是容器又是组件,它可以容纳其他组件,也可