2022年清华大学《JAVA语言与面向对象程序设计》试卷及其答案 .pdf
JAVA 语言与面向对象程序设计JAVA面向对象程序设计的课后习题答案叶乃文写的一、单选择题(每小题 2 分,共 30 分) 1、编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为 ( B )。(A) java (B) class (C)html (D)exe 2、已知表达式int m = 0, 1, 2, 3, 4, 5, 6 ;下面哪个表达式的值与数组元素个数相等?( B)。(A) m.length() (B) m.length (C) m.length()+1 (D) m.length+1 3、在 Java Applet 程序用户自定义的Applet 子类中, 一般需要覆盖父类的( D )方法来完成一些画图操作。(A)start( ) (B)stop( ) (C) init( ) (D) paint( ) 4、如下哪个字符串是Java中的标识符?(A )。(A) fieldname (B) super (C) 3number (D) #number 5、关于被私有访问控制符private 修饰的成员变量,以下说法正确的是(C )(A) 可被三种类引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类(B) 可以被两种类访问和引用:该类本身、该类的所有子类(C)只能被该类自身所访问和修改(D)只能被同一个包中的类访问6、Java 中 main()函数的值是什么类型?(D )(A) String (B) int (C) char (D) void 7、执行完代码int x = new int25;后,以下哪项说明是正确的(A )(A)x24 为 0 (B)x24 未定义(C)x25 为 0 (D)x0 为空8、以下代码段执行后的输出结果为(B )int x=3 ; int y=10 ;System.out.println(y%x); (A)0 (B)1 (C)2 (D)3 9、已知如下代码:public class Test long a = new long10; public static void main ( String arg ) System.out.println ( a6 ); 请问下面哪个语句是正确的(C)(A) Output is null. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - (B) Output is 0. (C) When compile, some error will occur. (D) When running, some error will occur. 10、给出下面的代码段: public class Base int w, x, y ,z; public Base(int a,int b) x=a; y=b; public Base(int a, int b, int c, int d) / assignment x=a, y=b w=d; z=c; 在代码说明 / assignment x=a, y=b 处写入如下哪个代码是正确的?(D)(A) Base(a,b); (B) x=a, y=b; (C) super(a,b); (D) this(a,b); 11、给出如下代码: class Test private int m; public static void fun() / some code. 如何使成员变量m 被函数 fun() 直接访问(C )(A) 将 private int m 改为 protected int m (B)将 private int m 改为public int m (C)将 private int m 改为static int m (D)将 private int m 改为int m 12、下面哪个函数是public void example().的重载函数(D )(A)public double example2(int m). 4(B)public int example(). (C)public void example2(). (D)public int example ( int m, float f). 13、以命令 ” java MyTest a b c” 执行文件 MyTest.class 后,表达式(C )为真(A)args0 = MyTest a b c (B)args0 = MyTest (C)args0 = a (D)args1= b 14、当包含applet 的页面被重新加载时会自动调用以下哪个函数?(B)(A) init() (B) start() (C) stop() (D) destroy() 15、在编写 Java Applet 程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上 ( )语句 ( D ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - (A) import java.awt.*; (B) import java.applet.* ; (C) import java.io.* ; (D) import java.awt.event.* ;二、判断题(每小题 2 分,共 20 分) 1、Java 的字符类型采用的是ASCII 编码。 X2、class A. 等价于 class A extends Object. 。O3、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。X 4、Java 中数组的元素可以是简单数据类型的量,也可以是某一类的对象。O 5、一个 Java类可以有多个父类。X 6、子类的域和方法的数目一定大于等于父类的域和方法的数目。X7、System 类不能实例化,即不能创建System 类的对象。 O 8、接口里的方法必须全部都声明成abstract。 O 9、最终类不能派生子类,最终方法不能被重载。O 10、设 String 对象 s=” Hello ”,运行语句 System.out.println(s.concat(“ World! ” );后 String 对象 s 的内容为 ”Hello world!”,所以语句输出为:Hello world! 。 X三、填空题(每空格2 分,共 20 分)1、根据程序的构成和运行环境的不同,Java 源程序分为两类:_Applet_ _程序和 _Applaction_程序。2、在Java 的基本数据类型中,char 型采用Unicode 编码方案,每个Unicode 码占用_2 _字节内存空间。3、在 Java程序中, 通过类的定义只能实现_单_重继承, 但通过接口的定义可以实现 _多_重继承关系。4、_抽象 _方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类或接口之中定义。_最终 _方法是不能被当前类的子类重新定义的方法。5、如果一个Java Applet 源程序文件只定义有一个类,该类的类名为MyApplet ,则类MyApplet必 须 是Applet_ 类 的 子 类 并 且 存 储 该 源 程 序 文 件 的 文 件 名 为_MyApplet.java_ 。6、Java 中所有类都是类_Object_ 的子类。四、写出下列程序的输出。(每小题 5 分,共 20 分) 1、class Parent void printMe() System.out.println(“ parent ” ); class Child extends Parent void printMe() System.out.println(“ child” );名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - void printAll() super.printMe(); this.printMe(); printMe(); public class Test_this public static void main(String args ) Child myC=new Child(); myC.printAll(); 2、public class Test public static void main(String args) int a=new int5; for(int i=0;i0;i-) System.out.println(a+i+=+ai); 3、public class BreakLoop public static void main(String args) int num=5; for (num=1;num5;num+) System.out.println(num1=+num); System.out.println(-); for (num=1;num5;num+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - if (num=3) break; System.out.println(num2=+num); System.out.println(-); for (num=1;num5;num+) if (num=3) continue; System.out.println(num3=+num); 4、public class Cruncher Crunch( int i ) System.out.println(“ int version” ); Crunch(String s) System.out.println(“ String version” ); public static void main(String args ) new Cruncher (1); 五、使用Java 语言编写程序。(共 10 分 ) 1、编写一个字符界面的Java Application 程序,接受用户输入的10 个整数,并输出这10 个整数的最大值和最小值。JAVA 语言与面向对象程序设计标准答案一、单选择题(每小题 2 分,共 30 分) 1. B 2. B 3. D 4. A 5. C 6. D 7. A 8. B 9. C 10. D 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - 11. C 12. D 13. C 14. B 15. D 二、判断题(每小题 2 分,共 20 分) 1. 2. 3. 4. 5. 6. 7.8.9. 10. 三、填空题(每空格2 分,共 20 分)1. Application Applet 2. 23. 单重多重4. 抽象最终5. AppletMyApplet.java 4. Object 四、写出下列程序的输出。(每小题 5 分,共 20 分) 1.parent child child 2.a3= 3 a2= 2 a1= 1 3.num1=1 num1=2 num1=3 num1=4 - num2=1 num2=2 - num3=1 num3=2 num3=4 4.int version 五、使用Java 语言编写程序。(共 10 分 ) import java.io.*; public class maxandmin 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - public static void main(String args) int max=0, min=0, value=0; for (int i=1; imax ? value : max; min = valuemin ? value : min; catch(NumberFormatException enf) System.out.println( 整数格式输入错误,请重新输入。n); i-; catch(IOException ioe) System.out.println( 一般输入输出错误,程序终止。); System.exit(0); / end of for System.out.println( 最大数为: + max); System.out.println( 最小数为: + min); / end of method / end of class 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -