12014级Java期末复习大纲考试题型和分值:1、判断题(每题2分,5题,共10分)2、填空题(每题2分,5题,共10分)3、选择题(每题2分,15题,共20分)4、简答题(4题,共30分)5、程序题(2题,共30分)程序练习:1.编程实现:求出一组数中的最大数和最小数。2.提示用户输入1—10的字符,然后判断这个整数的奇偶性。3.字符串的相关操作(参考实验指导实验19、实验20)4.编程实现:在程序中定义一个Person类,一个Person类的子类Student类,再定义主类C1,在main方法中,生成Student的对象,并输出各项信息。(参考《实验指导》实验31、实验32)5.求自定义几何图形的面积和周长。首先定义一个抽象类Geometry,该来中包含两个抽象方法,一个是表示求面积的getArea(),另一个表示求周长的getPerimeter()。然后通过继承来分别求出圆形、等边三角形、长方形的面积和周长。最后定义主类,给出具体的值后输出一个圆形、一个等边三角形和一个长方形的面积和周长。6.定义一个学生类,包括学生的姓名、学号、英语成绩、数学成绩、Java成绩、操作系统成绩、求每个学生的总分和求平均分。再定义主类来测试该类,创建两个学生对象,例如:王平1号成绩分别为80、90、85、70输出该学生的总分和平均分。(需要用构造方法来实现各个属性的初始化)7.定义描述职工档案的类Archives,保护成员变量有职工号(No)、姓名(Name)、性别(Sex)、年龄(Age)。成员方法有:显示职工信息的方法Show()。再由职工档案类派生出职工工资类Laborage,在职工工资类Laborage中新增私有成员变量:应发工资(SSalary)、社保金(Security)、实发工资(Fsalary),其公有成员方法有:构造方法,计算实发工资的方法Count(),计算公式为:实发工资=应发工资-社保金。显示职工档案及工资的方法Display()。最后定义主类,在主方法中用Laborage类定义职工对象lab,并赋初始值:(1001,“张三”,“男”,21,2000,100),然后显示职工档案与工资。8.构造方法的使用。参考实验指导实验27、实验28。29.编写一个Java程序,在程序中建立一个窗口,有四个文本框、两个按钮,单击“求和”按钮,能把第一个和第二个文本框的整数相加后结果显示在第三个文本框中,点击“复制”按钮,能将第三个文本框的内容复制到第四个文本框中,最后还可以正常关闭窗口。运行效果如下图所示:第1章Java语言概述1.Java语言的特点。(Java语言在1995年是哪个公司推出,2010年又是被谁收购?P2平台无关性、编译与解释并存,Java是如何实现“一次编写,到处运行”?2.面向对象的基本特征。3.什么是Java虚拟机?字节码的好处?4.Java应用程序的种类及区别。第2章Java语言开发环境1.JDK环境的配置。2.Path和ClassPath的作用?第3章Java语言基础1.基本数据类型有哪些?了解它们的数据的性质、取值范围、存储方式、参与的运算?它们在内存中存放的是数据值本身。2.Java定义了哪些整数类型。3.引用数据类型有哪些?在内存中存放的是指向该数据的地址,不是数据值本身。4.Java标识符的命名规则是什么?(给定标识符,会判断是否合法)5.Java语言是如何声明常量的。用final定义常量。单精度后加f或F,双精度后加d或D可省略。6.变量。注意:Java语言程序中可以随时定义变量,不必集中在执行语句之前。7.字符串数据类型转换为数值型数据。38.数值型数据转换为字符串类型。(使用+)intMyInt=1234;StringMyString=+MyInt;9.Java语言中从键盘输入数据。由键盘输入的数据,不管是文字还是数字,Java皆视为字符串。两种输入方式。(输入缓冲区和Scanner,至少掌握一种输入方式。)10.表达式求值表达式求值,自增自减1++和——的运算,注意前置和后置,尤其是用在复合语句中。第4章流程控制1.Java语言不允许在两个嵌套的复合语句内声明两个同名的变量。2.Java中的三种注释方式。(Java特有的文件注释,产生html文档)。3.可以用选择和循环结构来解决问题,三种循环语句的区别(见程序)4.break和continue的含义和区别。第5章数组与字符串1.数组的概念。相同数据类型的元素按一定顺序排列的集合。Java中,数组元素可以为简单数据类型,也可以为对象。2.Java语言内存分配问题栈内存:定义的基本类型的变量和对象的引用变量,超出作用域将自动释放。堆内存:存放由new运算符创建的对象和数组。由Java虚拟机的自动垃圾回收器来管理。3.什么是引用变量?(为数组或对象起的一个名称)4.Java中一维数组的定义和使用。inta[];//不能给出数组长度,因为此时还没有给数组分配内存int[]a;inta[]={1,2,3,4};int[]a=newint[4];//用new分配内存时,数组的每个元素都会自动赋默认值Java对数组元素要进行越界检查。每个数组都有一个属性length指明它的长度,如a.length指出数组a所包含的元素个数。(常作为循环控制条件)5.二维数组的定义和使用。Java中的二维数组看作是由多个一维数组构成。求二维数组的维数4计算某数组的行数:数组名.length计算某数组中某行元素的个数:数组名[下标].length二维数组申请内存方式(必须指定高层维数):(下面哪些错误)int[][]MyArray=newint[10][];int[][]MyArray=newint[10][3];int[][]MyArray=newint[][3];int[][]MyArray=newint[][];6.字符串的声明和使用。String变量名;变量名=newString(字符串);String变量名=newString(字符串);String变量名=字符串;String类的常用方法(求长度,定位,==和equals方法比较)第6章类与对象1.什么是类?什么是对象?类和对象有怎样的关系?2.类的定义和使用。类修饰符及含义见教材所示。类的成员不能是执行语句。成员变量和成员方法的定义、修饰符见教材所示。在定义类的成员变量时,可以同时赋初值,但对成员变量的操作只能放在方法中。类中成员间的访问机制。(在一个类中的访问机制,一个类访问另外一个类)3.成员变量与局部变量的区别?4.对象的创建和使用。对象的创建:Cylindervolu;//声明指向对象的变量voluvolu=newCylinder();//利用new创建新的对象,并让变volu指向它或者:Cylindervolu=newCylinder();volu只是对象的名称,它是指向对象实体的引用变量,而非对象本身。5.当一个对象被创建时,会对其中各种类型的成员变量按P106表6.4自动进行初始化。6.一个类多个对象,它们的成员变量分配在不同的内存,因此修改某一对象的成员变量时其他不受影响。57.this关键字的使用。“this.成员名”,此时this代表调用此成员的对象。若在通过方法调用,将外部传入的参数赋值给类的成员变量,方法的形式参数与类的成员变量同名时,则需用this来标识成员变量。8.传递数组:指明参数是一个数组,实参只给出数组名。9.当参数是基本数据类型时,采用传值方式调用;当参数是引用型的变量时,则是传址方式调用。10.了解匿名对象。第7章Java语言类的特征1.私有成员(private)、公共成员(public)、保护成员(protected)、缺省访问控制符各自的访问权限是什么?2.什么是方法的重载,即方法的重载条件是什么?会判断哪些是合法的重载形式。3.什么是构造方法?构造方法有哪些特征?何时被调用?什么是默认构造方法?何时被调用?4.什么是静态成员(类成员)?什么是实例成员?使用静态成员有什么意义?静态成员的访问格式是什么?main方法为何是public,static的呢?5.对象的赋值与比较。6.对象是一种引用型变量,它实际保存的是对象在内存中的地址。7.引用变量也可作为方法的参数,采用传址调用。例如:Circlec1=newCircle(2);Circlec2=newCircle(3);c2=c1;//它们所共同指向的同一对象的内容相等还是两个引用变量中所保存的地址相等呢?第8章继承、抽象类和接口1.什么是继承?什么是父类、子类?子类是如何创建的?在Java语言中有一个名为java.lang.Object的特殊类,所有的类都是直接或间接地继承该类而得到的。2.在子类中如何访问父类的成员。super的使用3.什么是方法的覆盖。方法的覆盖与方法的重载有和区别?4.”==”和equal()方法比较对象的异同?5.什么是抽象类和抽象方法?抽象类有哪些特征?66.接口与抽象类有何区别?7.利用接口实现类的多重继承。8.软件包的概念、作用、应用。(package、import语句应放在哪里)9.Java的垃圾自动回收机制。第9章异常处理1.什么是异常?按照错误的性质将错误如何分类及其含义?(哪些属于异常,会判断)2.什么是抛出异常和捕获异常?try-catch-finally语句如何使用?3.Java的异常处理机制是如何实现的,为什么有一些异常一定要捕获,否则编译不能通过?4.抛出异常的方式在捕获一个异常前,必须有一段代码生成一个异常对象并把它抛出。根据异常类的不同,抛出异常的方法也不相同。第12章图形界面设计1.了解java.awt包中主要类及组件类的继承关系。2.什么是组件?组件是怎样分类的?Java语言中构成图形用户界面的各种元素称为组件(Component)。组件分为容器(Container)类组件和非容器类组件两大类。容器又分为两种:顶层容器和非顶层容器。顶层容器是可以独立的窗口,顶层容器的类是Window,Window的重要子类是Frame和Dialog;非顶层容器,不是独立的窗口,它们必须位于窗口之内,非顶层容器包括Panel及ScrollPanel等。容器有两个重要的子类:窗口和面板3.什么是窗口?窗口又如何分类,他们又分别具有怎样的特征?Window类是可以自由移动的、不依赖其他容器而存在的窗口。Window类有两个主要子类:框架Frame和对话框Dialog。Frame的特征:Frame类是Window类的直接子类;Frame对象显示效果是一个“窗口”,带有标题和尺寸重置角标;默认初始化为不可见的,可使用setVisible(true)方法使之变为可见;默认的布局管理器是BorderLayout,可用setLayout()方法改变其默认布局管理器。Java应用程序中,一般独立应用程序主要使用Frame作容器。Dialog的特征:7带标题不能改变大小的窗口。4.什么是面板?面板与窗口有何区别?Panel类与窗口类似,但它是一种没有标题的容器,且不能独立存在,必须包含在另外一个容器之中。Panel的特征:它不是顶层窗口,必须位于窗口或其他容器之内Panel提供可以容纳其他组件的支持,在程序中经常用于布局和定位;默认的布局管理器是FlowLayout,可使用setLayout()方法改变其默认布局管理器;可以采用和它所在容器不同的布局管理器。5.图形用户界面设计的步骤?(1)创建组件(Component):创建组成界面的各种元素,如按钮、文本框等。(2)指定布局(Layout):根据具体需要排列界面上各元素的位置关系。(3)响应事件(Event):定义图形用户界面的事件和各界面元素对不同事件的响应,从而实现图形用户界面与用户的交互功能。6.什么是控件?它有何作用?Java中有哪些常用控件?里面不能包含其他组件。作用:完成与用户的交互,包括接收用户的命令、接收用户输入的文本或用户的选择、向用户显示