华南师范大学JAVA期末试卷2

题 号 得 分

学年( 计算机学院 2007/2008 学年(上)学期期末考试试卷 程序设计》试卷( 《Java 程序设计》试卷(B 卷) 专业: 专业:软件工程/网络工程(本)年级 2005 年级 姓名: 学号: 班级: 姓名: 学号: 班级: 一 二 三 四 五 六 七

总分

一.选择题(每个 1 分,共 10 分) 选择题( 1. Which of the following statements are true? A. The garbage collection algorithm in Java is vendor(自动) implemented B. The size of primitives is platform dependent C. The default type for a numerical literal with decimal component is a float. D. You can modify the value in an Instance of the Integer class with the setValue method 2.Which of the following are Java keywords? A. NULL B. new C. instanceOf D. delete 3. Which of the following statements are true? A. The instanceof operator can be used to determine if a reference is an instance of a class, but not an interface. B. The instanceof operator can be used to determine if a reference is an instance of a particular primitive wrapper class C. The instanceof operator will only determine if a reference is an instance of a class immediately above in the hierarchy but no further up the inheritance chain D. The instanceof operator can be used to determine if one reference is of the same class as another reference thus 4. 执行完代码"int[]x=new int[25];"后,以下正确的是() A. x[24]为 0 B. x[24]未定义 C. x[25]为 0 D. x[0]为空 5. 关于被保护访问控制符 protected 修饰的成员变量,以下说法正确的是( ) A. 可以被三种类所引用: 该类自身、与它在同一个包中的其他类、在其他包中的

该类的子类 B. 可以被两种类访问和引用: 该类本身、该类的所有子类 C. 只能被该类自身所访问和修改 D. 只能被同一个包中的类访问 4.以下说法,正确的是 A. final 只能修饰类 B.final 只能修饰方法 C.abstract 类中必须 有 abstract 方法 D.abstarct 方法所在 的类必须用 abstract 修饰 5.关于接口的说法,正确的是 A. 接口中的方法只能在接口的实现类中实现 成员 C.接口中不能定义常量 6.AWT 中容器跟组件的关系是 A. 容器类也是一种特殊的组件类 器类 C.容器类与组件类没有关系 9.以下的组件的常用功能对应接口,正确的是 A. JButton 组件对应的接口是 ActionListener B. JList 组件对应的接口是 ActionListener C. JCheckbox 组件对应的接口是 ActionListener D. 以上都不对 10.以下那种布局是 JDialog 的默认布局 A.BorderLayout B.FlowLayout

B. 接口中可定义变量 D.以上都不对

B. 组件类也是一种特殊的容 D.以上都不对

C.CardLayout

D.GridLayout

二.填空题(每个 1.5 分,共 30 分) 填空题( 共 1 . Java 字 节 码 能 在 ( 不同系统 )上兼容,只要各种设备能提供 ( JVM ) ,就能在该种设备上运行。 2. 阻塞线程方法是( wait ) ,唤醒线程的方法是( notify 或 notifyAll ) 。 3. synchronized 方法的作用是( 实现线程同步,让代码块或函数在同一时间只有 一个线程进入 ) 。 4. 所有的容器类类都是( component )的子类。 5. 类变量除了可用对象引用访问外,还可以用( 类名. )访问。
2

6. abstract 修饰的方法表示( 具有抽象属性 ) 。 7. 可支持文件随机读写的流类是( RandomAccessFile ) 。 8. 支持套接口的客户端类是( Socket ),服务端的类是( ServerSocket ) 。 9. Java 数据类型中,short 是( 两 )字节。 10. 如果省略 Package 语句,则该文件中定义的类被默认为( JAVA 缺省包 )的 一部分。 11. Java.net 包 中 支 持 UDP 的 两 个 类 分 别 是 ( DatagramSocket ) 和 ( DatagramPacket ) ,用于扩展为支持组播的类是( MulticastSocket ) ; 12. 引用型变量的默认值是( NULL )。 13. 类变量除了可用对象引用访问外,还可以通过( 类名 )来访问。 14. Graphics2D 中新增加的绘图功能有( BasicStroke )和(GradientPaint)等

等。 判断分析( 三.判断分析(每题 2 分,共 20 分) 1.Java 程序中类中不能定义其他类。 F 2.Java 程序若要充分发挥多 cpu 机器上的硬件能力,必须重新设计编译。 F 3.一个类的方法,如果没有明确定义,则其访问限制缺省为友好类,只能由子类 访问。 F 5.Char 数据可以直接当成字符串使用。 F 6.当一个对象不再使用后,可以使用 delete 撤销这个对象。 F 7.如果 P 是父类 Parent 的对象,而 C 是子类 Child 的对象,则语句 c = p 是正确的。 F 8.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽 象方法。 T 9. 用户自定义异常必须要由用户处理.
3

T 10. 子类要调用父类的方法,必须使用 this 关键字。 F 四.改错(4*3=12 分) 改错 public class Test { public static void main (String args[]) { System.out.println(TestClass.data); } } class TestClass {static int data=89; }

class WrongWhere { int data1, data2; WrongWhere() { data1=-1; } WrongWhere (int d) { data2=d; this(); } }

WrongWhere (int d) { this(); data2=d; } }

public static void main (String args[]) { try{ char ch=(char)System.in.read(); . . . //其它语句 } catch(Expception e) { return; } catch(IOException e) { System.out.println(e.toString()); } }

public static void main (String args[]) { try{ char ch=(char)System.in.read(); . . . //其它语句 } catch(IOExpception e) { return; } catch(Exception e) { System.out.println(e.toString()); } }

4

interface MyInterface { void method1(); } abstract class Parent implements MyInterface { //其他语句 } class Child extends Parent { void method1() { System.out.println("I am implemented now!"); } }

interface MyInterface { void method1(); } abstract class Parent implements MyInterface { //其他语句 } } class Child extends Parent { public void method1() { System.out.println("I am implemented now!"); } }

写出运行结果(4*3=12 分) 五. 写出运行结果 class Exam1 { void printMe() { System.out.println("parent"); } } class Exam2 extends Exam1 { void printMe() { System.out.println("child"); } void printAll() { super.printMe(); this.printMe(); printMe(); } } public class Exam3 { public static void main(String args[]) { Exam1 e1=new Exam2(); e1.printAll(); new Exam2().printAll();} } 编译出错
The method printAll() is undefined for the type Exam1

public class Exam4
5

{ public static void main(String args[]) { StringBuffer s=new StringBuffer("Hello"); if((s.length()>5)&&(s.append("there") . equals("False"))) ; System.out.println("value is "+s); } } Value is Hello

……………………………………//前面部分略 int j=2; switch ( j ) { case 2; System.out.println("Value is two."); case 2+1; System.out.println("Value is three."); break; default: System.out.println("Value is"+j); break; } Vallue is two

public class Exam5 { public static void main(String args[]) { Integer n1=new Integer(50); Integer n2=new Integer(50); System.out.println(n1= =n2); System.out.println(","); System.out.println(n1!=n2); } } Flase , true /*
package Main; import java.io.*; import java.util.*; import java.util.*; public class Main { public static void main(String args[]) {

6

Integer n1 = 50; Integer n2 = 50; System.out.println(n1 == n2); System.out.println(n1 != n2); System.out.println(); Integer n3 = new Integer(50); Integer n4 = new Integer(50); System.out.println(n3 == n4); System.out.println(n3 != n4); System.out.println(); String s1 = "cgrambler"; String s2 = "cgrambler"; System.out.println(s1 == s2); System.out.println(s1 != s2); System.out.println(); String s3 = new String("cgrambler"); String s4 = new String("cgrambler"); System.out.println(s3 == s4); System.out.println(s3 != s4); System.out.println(); int m1 = 50; int m2 = 50; System.out.println(m1 == m2); System.out.println(m1 != m2); System.out.println(); } }

true false false true
7

true false false true true false

*/ 六.综合题(10 分) 阅读下面的程序 1 import java.io.*; 2 public class TypeText 3 { public static void main(String args[]) 4 { int b; 5 byte buffer[]=new byte[1024]; 6 try{ FileInputStream readfile=new FileInputStream(“Showtxt.java”); 7 b=readfile.read(buffer,0,1024); 8 try { String str=new String(buffer,0,b,"Default"); 9 System.out.println(str); } 10 catch(UnsupportedEncodingException e) 11 { System.out.println(" the encoding was not found:"+e); }} catch(IOException e) {System.out.println("File read Error ");}}} 问题: 1)程序功能是什么(2 分) 读取并打印 Showtxt.java 文件前 1024 字节的内容 2)如果由用户在命令行参数中指定文件名,应如何修改 FileInputStream readfile=new FileInputStream( args[0]) (3 分)

3)分析程序中的错误处理,如果 2)中用户指定的文件无法找到,该怎么用异常处
8

理机制来处理. (5 分) Catch(FileNotFoundException e) { }

问答题(共 七.问答题 共 6 分) 问答题
从对 Java GUI 的类体系的学习与使用中,说说你对面向对象编程方法的理解与在 GUI 当中的具体应用 面向对象方法主要特征是封装,继承,多态。这在 java 的 GUI 中都得到充分体现。 1.封装:JAVA 的 GUI 中封装了多种组件的具体数据跟操作细节,使得绘图跟平台与环境 无关。 2.继承:所有组件直接或间接地继承自 Component,有些具备容器功能的继承自 Container, 而 Container 本身继承自 Component 3.多态:JAVA 的 GUI 的事件处理 Listener 和 Adapter,充分利用了多态性,它们是接口, 让用户根据自己的实际情况来实现。

9


相关文档

华南师范大学JAVA期末试卷1
华南师范大学JAVA期末试卷3
华师大八年级(上)数学期末试卷(二)
华师大版七年级期末试卷2
华师大版八年级科学期末试卷(二)
七年级(下)数学期末试卷(华师大)(二)
华师版七年级下数学期末试卷二
华师大版九年级数学期末试卷二
华师八上期末试卷2
初一上学期期末试卷(华师大版)_2
电脑版