《华南农业大学 Java程序设计 试卷》由会员分享,可在线阅读,更多相关《华南农业大学 Java程序设计 试卷(4页珍藏版)》请在金锄头文库上搜索。
1、共 6 页,第 页 1科目序号科目序号:6002 B 卷卷 Java 语言程序设计期末试卷语言程序设计期末试卷 (试卷总分:100 分,考试时间:120 分钟,答案写 在答卷纸上) 一判断题(每题一判断题(每题 1 分,共分,共 10分)分) 1 Java 的各种数据类型占用的内存长度固定,与具 体软硬件环境无关。 ( ) 2 无论 Java 源程序包含几个类的定义,若该源程序 文件以 B.java 命名,编译后生成的都只有一个名 为B.class的字节码文件。 ( ) 3 静态初始化器是在其所属的类加载内存时由系统 自动调用执行的方法。 ( ) 4 即使一个类中未显式定义构造函数,也会有一个
2、 缺省的构造函数,缺省的构造函数是无参函数, 函数体为空。 ( ) 5 在 J a v a的方法中定义一个常量要用 c o n s t关键 字。 ( ) 6 a b s t r a c t方法所在的类必须是 a b s t r a c t类。 ( ) 7 在异常处理中总是将可能产生异常的语句放在 try 块中,用 catch 子句去处理异常,而且一个 try 块 之 后 只 能 对 应 一 个catch语 句 。 ( ) 8 Applet 是一种特殊的 Panel, 它是 Java Applet 程序 的最外层容器。 ( ) 9 Java 语言中的数组元素下标总是从 0 开始,下标 可以是整数
3、或整型表达式。 ( ) 1 0 一个线程对象的具体操作是由 run()方法的 内容确定的,但是 Thread 类的 run()方法是空的, 其中没有内容;所以用户程序要么派生一个 Thread 的子类并在子类里重新定义 run()方法,要 么使一个类实现 Runnable 接口并书写其中 run() 方法的方法体。 ( ) 二单项选择题(每题二单项选择题(每题 2 分,共分,共40 分)分) 1编译 Java Applet 源程序文件产生的字节码文件 的扩展名为( B )。 A、java B、class C、html D、exe 2以下哪个不是 Java 的原始数据类型( ) A、boolea
4、n B、double C、float 3以下哪个方法用于定义线程的执行 体? ( ) A、 start() B、init() C、run() 4下面哪个不是 Java 中的容器? ( ) A、 ScrollPane B、Canvas C、 Applet D、Dialog 5下面哪个方法与 applet 的显示无关?( ) A、draw() B、 update() C、 repaint() D、paint() 6当 Frame 改变大小时,放在其中的按钮大小不变, 则使用如下哪种布局方式? ( ) A、 FlowLayout B、CardLayout C、 BorderLayout D、 Gri
5、dLayout 7以下代码完成画线功能,指出所画线的颜色( ) 1g.setColor(Color.red.green.cyan.yello); 2g.drawLine(0,0,100,100); A、red B、green C、yello 8在 J a v a 中,一个类可同时定义许多同名的方法, 这些方法的形式参数个数、类型或顺序各不相同,传 回的值也可以不相同。这种面向对象程序的特性称为 ( ) 。 A、隐藏 B、覆盖 C、重载 D、Java 不支持此特性 9有如下代码段: 1) 2) if(unsafe()/do something 3) else if(safe()/do the o
6、ther 4) 其中, 方法 unsafe() 将抛出 IOException, 请问可将以 下哪项填入第 1 行?( ) A、public IOException methodName() B、public void methodName() C、public void methodName() throw IOException 共 6 页,第 页 2D、public void methodName() throws IOException 10以下哪个关键字可以用来对对象加互斥锁? ( ) A、transient B、synchronized C serialize D、static 1
7、1以下关于继承的叙述正确的是( ) 。 A、在 Java 中类不允许多继承 B、在 Java 中一个类只能实现一个接口 C、在 Java 中一个类不能同时继承一个类和实现 一个接口 D、在 Java 中接口只允许单一继承 12在使用 i n t e r f a c e 声明一个接口时,只可以使用 ( )修饰符修饰该接口。 A、private B、protected C、 private protected D、public 13编译并运行以下程序,以下描述哪个选项是正确 的( ) 1. class A 2. protected boolean equals() 3. return super.
8、equals(); 4. A、编译通过运行无异常 B、编译 通过但运行时出错 C、行 2 出错,不能成功编译 D、不能 成功编译,行 3 出错 14 J a v a 的字符类型采用的是 U n i c o d e 编码方案, 每 个 U n i c o d e 码占用( )个比特位。 A、8 B、16 C 、 32 D、64 15在编写 Java Applet 程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( )语句。 A、import java.awt.* ; B、 import java.applet.* ; C、import java.io.* ; D、 import
9、 java.awt.event.* ; 16以下关于构造函数的描述错误的是( ) 。 A、构造函数的返回类型只能是 void 型。 B、构造函数是类的一种特殊函数,它的方法名 必须与类名相同。 C、构造函数的主要作用是完成对类的对象的初 始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 17有程序如下,关于程序的描述哪个是正确的? ( ) public class Person static int arr = new int10; public static void main(String a) System.out.println(arr1); A、编译将产生错误 B、编译时
10、正确,但运行时将产生错误 C、正确,输出 0 D、正确,输出 null 18 、 A 派生出子类 B , B 派生出子类 C, 并且在 Java 源代码中有如下声明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C(); 问以下哪个说法是正确的? ( ) A、只有第 1 行能通过编译 B、第 1、2 行能通过编译,但第 3 行编译出错 C、第 1、2、3 行能通过编译,但第 2、3 行运行 时出错 D、第 1 行、第 2 行和第 3 行的声明都是正确的 19有语句 String s=”hello world”; ,以下操作哪个是 不合法的?(
11、) A、int i=s.length(); B、s=3; C、String ts=s.trim(); D、String t=s+”!”; 20给出如下代码: class Test private int m; public static void fun() / some code. 如何使成员变量 m 被函数 fun()直接访问?( ) 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
12、 m 共 6 页,第 页 3三程序阅读题(每题三程序阅读题(每题 4 分,共分,共40 分)分) 1写出以下程序的运行结果。 public class Test public static void main(String args) ClassB cb1=new ClassB(1); ClassB cb2=new ClassB(1); if(cb1=cb2)System.out.println(“cb1=cb2“); else System.out.println(“cb1!=cb2“); class ClassB int x; ClassB(int x)this.x=x; 2写出以下程序的
13、运行结果。 public class TestArray public static void main(String args ) int i , j ; int a = 1,3,2,5,4; for ( i = 0 ; i ak ) k = j; int temp =ai; ai = ak; ak = temp; for ( i =0 ; i=a System.out.println(“normal exit“); public static void main( String args ) try compute(6 ); compute( 12 ); catch( MyExceptio
14、n e )System.out.println(“Caught “+e); 10写出以下程序的运行结果。 class StaticTest static int x=1; int y; StaticTest() y+; public static void main(String args ) StaticTest st=new StaticTest(); System.out.println(“x=“ + x); System.out.println(“st.y=“ + st.y); st=new StaticTest(); System.out.println(“st.y=“ + st.y); static x+; 四编程题(共四编程题(共 10 分)分) 编写一个完整的 Java Applicat