Java面向对象程序设计期末复习题汇总
- 格式:doc
- 大小:171.50 KB
- 文档页数:29
面向对象程序设计(java)题库抽题规范:(1)此题库共75道题,抽8道作为期末考试题。
其中,易8道,较易33道,较难18道,容易16道.(2)按题型,第一大题抽4道,每道10分;第二大题抽2道,每道10分;第三大题抽1道,每道20分后;第四大题扣1道,每道20分后。
(3)按难易程度:易(1道)、较易(4道)、较难(2道)、难(1道)。
一、答疑题(共40道,扣4道,每道10分后,共40分后)1.面向对象有哪三大特征?封装,继承,多态.2.什么是类?(易)类就是定义同一类所有对象的变量和方法的蓝图或原型。
3.什么就是对象?对象是类的实例;对象是通过newclassname产生的,用来调用类的方法;类的构造方法.。
4.类和对象的区别是什么?java中的类就是模板,而对象就是依据模板产生的实体5.详述java的PCB性,如何在java中同时实现PCB封装性是指的把代码封装到大括号中,只能访问自己内部的数据,外边的东西访问不了。
实现为加访问权限。
6.构造方法有哪些特点方法名与类名相同,没返回值,可以存有多个空载。
7.构造方法的促进作用就是什么?(更易)初始化对象,就是你new一个类的时候可以很方便的给你的对象里的属性赋值。
8.this在程序中所代表的意思(易)指当前对象9承继的促进作用就是什么?(极易)同时实现代码F83E43Se。
10.java支持多继承吗?(易)不能。
11.子类可以承继父类的哪些成员?(较难)变量和构造方法。
12.简述构造子类对象时子类和父类构造方法执行顺序(较易)先执行父类再执行子类。
13.什么就是方法的空载,如何挑选被空载的方法?(更易)同一个类中如果同时存在两个以上的方法有同一个名字,在这种情况下,我们说方法被重载了,这个过程被称为重载。
14什么就是方法的改写,如何挑选被改写的方法?(较难)当同名方法同时存在于子类和父类中时,对于子类来说就是将继承父亲的方法重载写过了,实现功能完全和父类无关。
“Java语言与面向对象程序设计”期末复习题一.判断题1.由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。
(×)2.注释的作用是使程序在执行时在屏幕上显示//之后的内容。
(×)3.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。
(√)4.java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。
(×)5.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
(×)6.创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。
(×)7.静态初始化器是在其所属的类加载内存时由系统自动调用执行。
(√)8.A pplet是一种特殊的Panel,它是Java Applet程序的最外层容器。
(√)9.设String对象s=”H”,运行语句System.out.println(s.concat(“ello!”));后String对象s的内容为”Hello!”,所以语句输出为”Hello!”。
(×)10.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
(×)11.无论Java源程序包含几个类的定义,若该源程序文件以B.java命名,编译后生成的都只有一个名为B的字节码文件。
(×)12.即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。
(√)13.Java的各种数据类型所占用的内存长度与具体软硬件环境有关。
(×)14.在Java的方法中定义一个常量要用const关键字。
(×)15.Java的类不允许多重继承,但接口支持多重继承。
(√)16.所谓抽象类就是包含有抽象方法的类。
(×)17.在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。
java程序设计期末考试试题汇总及答案1. 选择题1.1 下列哪个选项是Java语言的特点?A. 面向过程B. 面向对象C. 编译型语言D. 动态类型答案:B1.2 Java中,用于定义一个类的结构的关键字是:A. classB. publicC. staticD. interface答案:A1.3 Java中,下列哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B2. 填空题2.1 Java语言的三大特性是封装、继承和_______。
答案:多态2.2 在Java中,_______关键字用于定义一个接口。
答案:interface2.3 Java中,_______关键字用于声明一个变量为常量。
答案:final3. 简答题3.1 简述Java中的垃圾回收机制。
答案:Java的垃圾回收机制是指自动回收不再被引用的对象所占用的内存。
垃圾回收器会定期检查内存中的对象,如果一个对象没有任何引用指向它,那么它将被认为是垃圾,随后会被垃圾回收器回收。
3.2 描述Java中异常处理的流程。
答案:Java中的异常处理流程包括三个步骤:首先使用try块包围可能抛出异常的代码;其次,使用catch块捕获并处理异常;最后,使用finally块执行清理代码,无论是否发生异常,finally块中的代码都会被执行。
4. 编程题4.1 编写一个Java程序,计算并输出100以内所有偶数的和。
答案:```javapublic class EvenSum {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("100以内所有偶数的和是:" +sum);}}```4.2 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除运算。
⾯向对象技术Java期末复习试题(⼆)期末复习试题(⼆)⼀、程序题1、编写程序创建Point类,要求如下:(1)double类型的数据域x和y分别表⽰点的坐标;(2)x、y的get和set⽅法;(3)⼀个⽆参构造⽅法;(4)⼀个创建点对象同时指定x和y坐标的有参的构造⽅法;(5)⼀个名为distance(Point p)的⽅法,返回从该点到指定点之间的距离;(6)⼀个名为distance(double x, double y)的⽅法,返回从该点到指定x和y坐标的指定点之间的距离。
解题要求:编写测试类,分别调⽤两个distance⽅法,计算:(1)点(2,3)到(10,30)之间的距离并显⽰;(2)点(4,5)到(20,50)之间的距离并显⽰。
2、下图是课程类Course的UML类图,说明如下:(1)成员变量包括课程名称(courseName)和选课学⽣(students),选课学⽣存放在ArrayList链表中。
(2)包括成员变量的set和get⽅法。
(3)⼀个输出课程信息的⽅法toString(),可以输出课程名称、选课学⽣名单和选课⼈数。
(4)⼀个添加学⽣的⽅法addStudent(String student)。
(5)⼀个查询选课学⽣数量的⽅法getNumberOfStduents()解题要求:编写测试类,创建课程对象,添加3个选课学⽣,按照如下提⽰输出课程信息。
3、下图描述了两个类:Line(线段)和Point(点),以及两个类之间的关联关系,⼀条线段对象由对应的两个点对象组成。
解题要求:要求如下:(1) 编写Line(线段)和Point(点)两个类的代码,注意满⾜封装的需求。
将数据隐藏,通过⽅法访问数据。
(2) 使⽤Line类的Line(x1: int, y1: int, x2: int, y2: int)⽅法,创建Line对象,端点是(10,20)、(30,40),计算并输出线段的长度。
程序设计(期末考试试题及答案)JAVA面向对象面向对象程序设计一、单选择题1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
A.javaB..classC.htmlD..exe2、不允许作为类及类成员的访问控制符的是(C)。
A.publicB.privateC.staticD.Protected3、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。
A.3B.3.5C.4D.54、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。
A.static void method()B.public void method()C.final void method()D.abstract void method()5、下列属于容器的组件有:(B)A.JButton B.JPaneC.Canvas D.JTextArea6、v oid的含义:(C)A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值 D.方法的返回值不能参加算术运算7、关于Java中异常的叙述正确的是:(D)A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的8、下面哪个不是java语言中的关键字?(B)A.longB.sizeofC.instanceofD.Const9、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?(D)A.ActionListenerB.MouseListenerC.MouseMotionListernD.ItemListener10、以下有关类的继承的叙述中,正确的是:(D)A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。
java程序设计期末考试试题汇总及答案Java程序设计期末考试试题汇总及答案在学习Java程序设计的过程中,期末考试是一个重要的评估学生掌握程度的方式。
为了帮助同学们更好地复习和准备考试,本文将汇总一些常见的Java程序设计期末考试试题,并提供相应的答案和解析。
一、基础知识题1. 什么是Java?答案:Java是一种面向对象的编程语言,由Sun Microsystems公司于1995年推出。
它具有跨平台的特性,可以在不同的操作系统上运行。
2. Java的特点有哪些?答案:Java具有简单、面向对象、跨平台、安全、高性能、可移植等特点。
3. Java的基本数据类型有哪些?答案:Java的基本数据类型包括byte、short、int、long、float、double、char 和boolean。
4. Java中的循环结构有哪些?答案:Java中的循环结构有for循环、while循环和do-while循环。
5. 什么是异常处理?答案:异常处理是指在程序运行过程中,如果出现异常情况,可以通过捕获和处理异常来保证程序的正常运行。
二、编程题1. 编写一个Java程序,求1到100之间所有偶数的和。
答案:```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("1到100之间所有偶数的和为:" + sum); }}```2. 编写一个Java程序,判断一个字符串是否是回文字符串。
答案:```javapublic class Palindrome {public static void main(String[] args) {String str = "level";boolean isPalindrome = true;for (int i = 0; i < str.length() / 2; i++) {if (str.charAt(i) != str.charAt(str.length() - 1 - i)) {isPalindrome = false;break;}}if (isPalindrome) {System.out.println(str + "是回文字符串");} else {System.out.println(str + "不是回文字符串");}}}```三、综合应用题1. 编写一个Java程序,实现一个简单的学生信息管理系统,要求能够添加学生信息、查询学生信息、删除学生信息和修改学生信息。
java面向对象程序设计考试题及答案一、选择题(每题2分,共10分)1. 在Java中,以下哪个关键字用于定义类的属性?A. staticB. finalC. privateD. public答案:C2. 以下哪个方法用于在Java中创建对象?A. newB. createC. makeD. construct答案:A3. 哪个关键字用于在Java中定义一个方法?A. functionB. methodC. defineD. procedure答案:B4. 在Java中,哪个关键字用于实现类的继承?A. extendsB. inheritC. deriveD. base答案:A5. Java中接口和抽象类的主要区别是什么?A. 接口没有构造方法,抽象类有B. 接口可以有实现,抽象类不能C. 接口不能有属性,抽象类可以D. 接口可以有私有方法,抽象类不可以答案:A二、填空题(每空1分,共10分)1. 在Java中,一个类可以继承另一个类的属性和方法,这种特性称为____。
答案:继承2. Java中,一个类只能继承一个父类,这是Java的____特性。
答案:单继承3. 当一个类实现了一个接口时,它必须实现接口中所有的____方法。
答案:抽象4. Java中,____关键字用于声明一个类是抽象的。
答案:abstract5. 在Java中,____关键字用于声明一个方法没有具体的实现。
答案:abstract三、简答题(每题10分,共20分)1. 请简述Java中封装的概念及其重要性。
答案:封装是面向对象编程中的一个核心概念,它指的是将对象的状态(属性)和行为(方法)结合在一起,并隐藏对象的内部实现细节。
封装的重要性在于它提高了代码的安全性和可维护性,使得对象的内部状态不会被外部代码随意访问和修改,从而保护了对象的完整性。
2. 描述Java中多态的概念及其作用。
答案:多态是面向对象编程中的一个特性,它允许不同类的对象对同一消息做出响应。
java程序设计期末复习题# Java程序设计期末复习题一、选择题1. Java语言的特点包括以下哪项?A. 跨平台性B. 面向过程C. 编译型语言D. 动态类型检查2. 以下哪个是Java的关键字?A. classB. functionC. varD. include3. Java中,哪个修饰符可以用来控制类成员的访问权限?A. publicB. privateC. staticD. final4. 在Java中,以下哪个不是基本数据类型?A. intB. floatC. StringD. double5. Java中,哪个类是所有类的父类?A. ObjectB. SystemC. StringD. Integer6. 以下哪个是Java集合框架中的接口?A. ArrayListB. ListC. HashMapD. Set7. 在Java中,哪个关键字用于抛出异常?A. tryB. catchC. throwD. finally8. Java中,哪个方法用于获取当前线程的名称?A. getName()B. getThread()C. getThreadName()D. currentThread()9. 在Java中,以下哪个是正确的继承形式?A. 多重继承B. 单一继承C. 接口继承D. 混合继承10. Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. enum二、简答题1. 简述Java语言的跨平台性是如何实现的。
2. 解释Java中的封装、继承和多态性,并给出一个简单的示例。
3. 描述Java中异常处理的机制,包括try、catch、finally的作用。
4. 阐述Java集合框架中List和Set的区别。
5. 解释Java中泛型的概念及其作用。
三、编程题1. 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除运算。
java程序设计期末考试试题汇总及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. 下列哪个是Java的合法标识符?A. 3thingsB. doubleC. _nameD. class答案:C3. Java中,哪个关键字用于定义一个接口?A. classB. interfaceC. structD. enum答案:B4. Java程序中,哪个方法用于启动程序?A. main()B. start()C. run()D. execute()答案:A5. 下列哪个是Java的访问修饰符?A. publicB. staticC. voidD. int答案:A6. 下列哪个是Java的控制流语句?A. tryB. catchC. ifD. switch答案:C7. 在Java中,哪个关键字用于实现多态?A. newB. extendsC. implementsD. override答案:D8. Java中,哪个关键字用于定义一个枚举?A. enumB. structC. classD. interface答案:A9. 在Java中,哪个关键字用于定义一个包?A. packageB. importC. classD. interface答案:A10. 下列哪个是Java的异常处理关键字?A. tryB. catchC. finallyD. All of the above答案:D二、简答题(每题5分,共30分)1. 简述Java语言的特点。
答案:Java是一种面向对象的编程语言,具有跨平台性、安全性高、健壮性、多线程等特点。
2. 什么是Java的垃圾回收机制?答案:Java的垃圾回收机制是指自动回收不再使用的对象所占用的内存,以防止内存泄漏。
3. 什么是Java的集合框架?答案:Java的集合框架是一组接口和类,用于存储和操作对象集合,如List、Set、Map等。
一、单项选择题 1.指出正确的表达式()。 C A. byte = 128; B. Boolean = null; C. long l = 0xfffL; D. double = 0.9239d; 2.指出下列程序运行的结果 B public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); System.out.print(ex.ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } } A.good and abc B.good and gbc C.test ok and abc D.test ok and gbc 3.给出下面代码: C public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 那个语句是正确的? A. 编译时将产生错误; B. 编译时正确,运行时将产生错误; C .输出零; D. 输出空。 4.哪个关键字可以对对象加互斥锁? B A. transient B. synchronized C.serialize D.static 5.下列代码哪几行会出错: C 1) public void modify() { 2) int I, j, k; 3) I = 100; 4) while ( I > 0 ) { 5) j = I * 2; 6) System.out.println (" The value of j is " + j ); 7) k = k + 1; 8) I--; 9) } 10} A. line 4 B. line 6 C. line 7 D. line 8 6.MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。 D A. public int MAX_LENGTH=100; B. final int MAX_LENGTH=100; C. final public int MAX_LENGTH=100; D. public final int MAX_LENGTH=100; 7.给出下面代码: D 1) class Parent { 2) private String name; 3) public Parent(){} 4) } 5) class Child extends Parent { 6) private String department; 7) public Child() {} 8) public String getValue(){ return name; } 9) public static void main(String arg[]) { 10) Parent p = new Parent(); 11) } 12)} 那些行将引起错误? A. 第3行 B. 第6行 C. 第7行 D. 第8行
8.给出下面代码段 D 1) public class Test { 2) int m, n; 3) public Test() {} 4) public Test(int a) { m=a; } 5) public static void main(String arg[]) { 6) Test t1,t2; 7) int j,k; 8) j = 0; k = 0; 9) t1 = new Test(); 10) t2 = new Test(j,k); 11) } 12)} 哪行将引起一个编译时错误? A.line 3 B.line 5 C.line 6 D. line 10 9.对于下列代码: D 1) class Person { 2) public void printValue(int i, int j) {//... } 3) public void printValue(int i){//... } 4) } 5) public class Teacher extends Person { 6) public void printValue() {//... } 7) public void printValue(int i) {//...} 8) public static void main(String args[]){ 9) Person t = new Teacher(); 10) t.printValue(10); 11) } 第10行语句将调用哪行语句?? A. line 2 B. line 3 C. line 6 D. line 7 10.哪个关键字可以抛出异常? C A. transient B. finally C. throw D. static 11.Main()方法的返回类型是: B A. int B. void C. Boolean D. static 12.System类在哪个包中? D A. java.util B. java.io C. java.awt D. java.lang 13.给出下面代码: A public class test{ static int a[] = new a[10]; public static void main(String args[]) { System.out.println(arr[10]); } } 那个选项是正确的? A. 编译时将产生错误 B. 编译时正确,运行时将产生错误 C. 输出零 D. 输出空 14.下面哪个选项是正确的main方法说明? D A. public main(String args[]) B. public static void Main(String args[]) C. private static void main(String args[]) D. public static void main(String[] args) 15.给定下面的代码片段: 1) String str = null; 2) if ((str != null) && (str.length() > 10)) { 3) System.out.println("more than 10"); 4) } 5) else if ((str != null) & (str.length() < 5)) { 6) System.out.println("less than 5"); 7) } 8) else { System.out.println("end"); } 哪些行会导致错误? A. line 1 B. line 2 C. line 5 D. line 8 16.下面哪种注释方法能够支持javadoc命令: D A. /**...**/ B. /*...*/ C. // D. /**...*/ 17.看下面一段程序: C class Aclass{ void go(){ System.out.println("Aclass"); } } public class Bclass extends Aclass{ void go(){ System.out.println("Bclass"); } public static void main(String args[]){ Aclass a=new Aclass(); Aclass a1=new Bclass(); a.go(); a1.go(); } 以上程序运行结果是: A. Aclass B. Bclass Aclass Bclass C. Aclass D. Bclass Bclass Aclass 18.指出下列程序的运行结果 B int i = 9; switch (i) { default: System.out.println("default"); case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); } A. default B. default zero C. error default clause not defined D. 不会有任何输出