1、华中科技大学本科Java语言程序设计试题闭卷华中科技大学本科Java语言程序设计试题2005(闭卷)班级: 学号: 姓名: 分数: 一、 单项选择题(每小题1分,共20分)1下面的变量定义语句,不正确的是:( )A. String s姓名 = 王刚;B. int final = 123;C. double d_123;D. char c = 王;2. 给定下列代码:public class Testint arr = new int2;public static void main(String a) System.out.println(arr2);上述程序的编译运行结果应该是:( )A、
2、编译出错B、 编译通过,但运行时产生异常C、 编译通过,运行结果为nullD、 编译通过,运行结果为03. 类MyClass被声明为public类型,其成员字符串变量s只能被自己或同一个包中的其他类访问,满足条件的声明语句为:矚慫润厲钐瘗睞枥庑赖。A. private String s;B. public String s;C. protected String s;D. package String s;4给定下列代码:class A A(int i) System.out.println(Class A Constructor +i); public class B extends A B
3、(int i) System.out.println(Class B Constructor +i); public static void main(String args) B b = new B(100); 上述代码的编译运行结果是:( )A. Class B Constructor 100B. Class A Constructor 100 Class B Constructor 100 C. 该程序会产生编译错误D. 程序编译通过,但运行时会产生异常并中止5. 关于Java语言中方法的参数传递,正确的描述是:( )A. 方法的参数均是按值传递B. 方法的参数均是按引用传递C. 方法的
4、参数如果是基本类型,则按值传递;否则按引用传递D. 可通过关键字来指定方法的参数是按值传递还是按引用传递6将int型变量i的值转换为String类型并赋值给字符串变量s(例如i=10,则s=10),正确的写法是:( )聞創沟燴鐺險爱氇谴净。A. s = i.toString();B. s = Integer(i).toString();C. s = Integer.valueOf(i);D. s = String.valueOf(i);7. 如果希望某类中的公有成员变量可在其他类中通过类名.变量名进行引用,定义变量时应采用的修饰关键字是:( )残骛楼諍锩瀨濟溆塹籟。A. staticB. na
5、tiveC. finalD. finally8. 关于异常处理,下面说法不正确的是:( )A. 从RuntimeException直接或间接继承的异常可以不必捕获B. 如果某方法用throw语句抛出了异常,该方法声明时不一定必须指明throws子句C. 如果将父类异常的catch语句写在子类异常之前,那么程序运行时只会执行父类异常的语句D. InterruptedException属于须检查的异常9. 如果需要将某个对象通过网络发送到远程系统,应采用那种合适的I/O类?( )A. PipedReader/PipedWriterB. PipedInputStream/PipedOutputStr
6、eamC. ObjectInputStream/ObjectOutputStreamD. DataInputStream/DataOutputStream10. 给定下列代码:public class ThreadTest extends Thread public void run() System.out.println(In run); yield(); System.out.println(Leaving run); public static void main(String args ) (new ThreadTest().start(); 上述程序编译运行的结果是:( )A. I
7、n runB. Leaving runC. In runLeaving runD. 程序正常运行,但什么都不显示11、System类存在于下列哪一个包中?( )A. java.langB. java.ioC. java.utilD. 未定义包12、关于System.out.println();语句,说法正确的是:A. out是System类的一个静态属性B. out是System类的一个静态方法C. println是System类的一个静态方法D. println是System类的一个非静态方法13、定义一个不允许被其它类所继承的类,可使用的类修饰符是:A. staticB. finalC.
8、protectedD. abstract14、类A继承了类B,并实现了接口C,以下类的声明语句正确的是:A. class A extends B implements CB. class A extends C implements BC. class B extends A implements CD. class B extends C implements A15、定义一个无返回值的抽象方法,以下语句正确的是:A. abstract void test()B. abstract void test();C. void abstract test()D. void abstract tes
9、t();16、类C的定义如下:class C extends B implements A下列表达式中,不正确的是:( )A. C c=new C();B. B b=new C();C. A a=new C();D. C c =new B();17、希望按东南西北中的方位安排组件的摆放,容器应该采用那种布局类?( )A. FlowLayout B. BorderLayout C. CardLayout D. GridLayout酽锕极額閉镇桧猪訣锥。18、下列不是Java引用类型的是:( )A. int B. ObjectC. RunnableD. char19.给定下列代码:class Te
10、st public static void main(String args) Float s=new Float(0.9F); Float t=new Float(0.9F); Double u=new Double(0.9); System.out.println(s=t); System.out.println(s.equals(t); System.out.println(t.equals(u); 上述程序的运行结果是:( )A. true true trueB. false true trueC. false true falseD. false false false20、给定下列
11、代码:class Base int x = 2; int method() return x; class Subclass extends Base int x = 3; int method() return x; class Test public static void main(String args) Base b = new Subclass(); System.out.println(b.x); System.out.println(b.method(); 上述代码的运行结果是:( )A. 2 3B. 2 2C. 3 3D. 3 2E.以上都不对,因为Base b = new
12、Subclass()是非法语句二、 根据程序回答问题(共65分)1、写出下列程序的运行结果(共20分)(1)程序:(6分)class C C( ) System.out.print(C); class A C c = new C( ); A( ) this(A); System.out.print(A); A(String s) System.out.print(s); class B extends A B( ) super(B); System.out.print(B); public static void main(String args) new B ( ); 运行结果:(2)程序:
13、(8分)Public class Note public static void swap(String name) String temp; temp = name0; name0 = name1; name1 = temp; public static void swap(String name0, String name1) String temp; temp = name0; name0 = name1; name1 = temp; public static void main(String args) String name = Killer,Miller; String name
14、0 = Killer; String name1 = Miller; swap(name0, name1); System.out.println(name0 + , + name1); swap(name); System.out.println(name0 + , + name1); 运行结果:(3)程序:(6分)class Unchecked static void method() try wrench(); System.out.print(a); catch (ArithmeticException e) System.out.print(b); finally System.ou
15、t.print(c); System.out.print(d); static void wrench() throw new NullPointerException(); public static void main(String args) try method(); catch (Exception e) System.out.print(e); System.out.print(f); 运行结果:2、根据程序回答问题(共10分)public class JLab0603 public static void change(String s) s = s + changed?; pu
16、blic static void change(StringBuffer sb) sb.append( changed?); public static void main(String args) String s = test; StringBuffer sb = new StringBuffer(test); System.out.println(s= + s + , sb= + sb); change(s); change(sb); System.out.println(s= + s+ , sb= + sb); (1) 该程序的运行结果是:(4分)(2) 用简洁明了的语言说明为什么会产
17、生这样的结果?(6分)3、根据程序运行结果填空(共15分)注意:一个空格处只能填写一条语句class Gatepublic void waitAtGate() try catch (InterruptedException e) public void notifyAllAtGate()class TangledThread Gate gate; public TangledThread(String str, Gate g) public void try sleep(int)(Math.random()*100); catch (InterruptedException e) System
18、.out.print(. + getName() + .); class LooseThread Gate gate; public LooseThread(String str, Gate g) public void System.out.print(. + getName() + .); public class ThreadProblem public static void main (String args) new TangledThread(Study,g).start(); new TangledThread(Party,g).start(); new LooseThread(Sleep,g).start(); 该程序所有可能的运行结果为:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1