1、( JAVA 语言)考试试卷第一大题:单选题(30 分)1.(1分)Java 的 int 型变量占内存的字节是( b ) 。A. 1B. 4C. 2D.与机器有关2. (1分 )当下列程序执行时,其输出结果是( c ) 。public class Test void printValue(int m) do System.out.println(“The value is “+m); while(-m10); public static void main(String arg) int i=10; Test t= new Test(); t.printValue(i); A. The val
2、ue is 8 B. The value is 9 C. The value is 10 D. The value is 11 3. (1分 )若有定义 int x=3,y;则执行语句 y=(x+)+(x+)+(x+);后 y=( c ) 。A. 9B. 12C. 15D. 184. (1分 )编译一个定义了7个类和18个方法的 Java 源代码文件,编译该源代码文件时会产生几个字节码文件( a ) 。A. 1B. 23C. 18D. 75. (1分 )关于 main()方法说法正确的是( d ) 。A. 一个类中可以没有 main()方法B. 所有对象都必须放在 main()方法中C. ma
3、in()方法必须放在公共类中D. main()方法头的定义可以根据情况任意修改6. (1分 )JAVA 中常量定义的修饰符为( a ) 。A.finalB.finallyC.constD.define 7. (1分 )若有类定义如下class Dog float x; static int y;则下列说法中正确的是( b ) 。A. x 称为类变量,y 为实例变量B. x,y 均为类变量“C. x,y 均为实例变量D. x 为实例变量,y 为类变量8. (1分 )以下哪条语句可以加入到构造方法的划线部分( a ) 。class Person String name, department; i
4、nt age; public Person(String n) name = n; public Person(String n, int a) name = n; age = a; public Person(String n, String d, int a) / 调用构造方法 Person(String n, int a) 实现 name=n,age=a department = d; A. Person(n,a); B. this(Person(n,a); C. this(n,a); D. this(name,age). 9. (1分 )若有定义 String tom=“I am a
5、good cat “;则 tom.indexOf(“a“)的值为( ) 。A.2B.3 C.4D. 510. (1分 )下面哪个不是合法的标识符( c ) 。A. $employee B. OneUserC. *point D. _endline 11. (1分 )显示低层次图片的代码应放在下列哪个方法中( b ) 。A.update()B.paint()C.init()D.repaint() 12. (1分 )当把组件放置在 BorderLayout 的哪个区域时,该组件可以自动调整其水平方向而非垂直方向的尺寸( c ) 。A.North or SouthB.East or WestC.Ce
6、nterD.North,South or CenterA13. (1分 )下列监听器接口,那个不能添加到 TextArea 对象中( c ) 。A.TextListenerB.ActionListenerC.MouseListenerD.ComponentListener14. (1分 )增加菜单分割线可使用方法( b ) 。A. addLine()B. addSeparator()C. insertLine()D. insertItem(String)15. (1分 )改变鼠标指针形状,可使用方法( c ) 。A. setShapeB. setCrosshairC. setCursorD.
7、setWait16. (1分 )相同优先级的若干线程都处于就绪状态,如果要使当前线程放弃处理器资源, 让给其后的线程,应调用方法( c ) 。A. init()B. stop()C. sleep()D. start()17. (1分 )用套接字方法建立两个程序的通信后,如果双方通信完毕,应( c ) 。A. 发送“再见 ”信息B. 直接退出程序C. 调用方法 close()关闭套接字连接D. 重新启动计算机以断开通信连接18. (1分 )基于 UDP 通信,可用类创建一个对象表示一个发送数据包,这个类是( ) 。A. DataSocketB. DatagramSocketC. DataPack
8、etD. DatagramPacket19. (1分 )屏幕上显示的图像, ( d ) 。A. 必须和实际图像大小一致B. 在 x 方向可发生变化C. 在 y 方向可发生变化D. 可以和实际的图像大小不一致20. (1分 )要播放一个音频对象表示的音频文件,应调用的方法是( d ) 。A. stop()B. start()C. init()D. play()21. (1分 )当构造一个输入流的对象时,可能产生异常的是(a)A. InterruptedExceptionB. NoSuchFieldExceptionC. RuntimeExceptionD. FileNotFoundExcepti
9、on22. (1分 )下列说法正确的是( a ) 。A类 FilelnputStream 和 FileOutputStream 用来进行文件1/O 处理,由它们所提供的方法可以打开本地主机上的文件,并进行顺序的读/写B通过类 File 的实例或者一个表示文件名称的字符串可以生成文件输人/输出流,在流对象生成的同时,文件被打开,但还不能进行文件读/写C对于 InputStream 和 OutputStream 来说,它们的实例都是是非顺序访问流,即只能进行非顺序的读/写D当从标准输人流读取数据时,从键盘输人的数据直接输入到程序中23. (1分 )下面的哪个程序片断可能导致错误( b ) 。A.
10、String s = “Gone with the wind“; String t = “ good “; String k = s + t; B. String s = “Gone with the wind“; String t; t = s3 + “one“; C. String s = “Gone with the wind“; String standard = s.toUpperCase(); D. String s = “home directory“; String t = s+5; 24. (1分 )1) class Person 2) public void printVa
11、lue(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) 12) 第十行的语句将调用哪个方法( d ) 。A. 第2行
12、 B. 第3 行C. 第6 行D. 第7行25. (1分 )下面的哪个关键字通常用来对对象的加锁,该标记使得对对象的访问是排他的( b ) 。A. transient B. synchronized C. serialize D. static 26. (1分 )关于垃圾收集的哪个叙述是正确的( b ) 。 A. 程序开发者必须自己创建一个线程进行内存释放的工作。 B. 垃圾收集将检查并释放不再使用的内存。 C. 垃圾收集允许程序开发者明确指定并立即释放该内存。 D. 垃圾收集能够在期望的时间释放被 java 对象使用的内存。 27. (1分 )将一个 RandomAccessFile 对象中
13、的文件指针移动到文件中的一个确定位置,应调用方法( b ) 。A. skipBytes()B. seek()C. moveBytes()D. seekBytes()28. (1分 )public void Test() try oneMethod(); System.out.println(“condition 1“); catch (ArrayIndexOutOfBoundsException e) System.out.println(“condition 2“); catch(Exception e) System.out.println(“condition 3“); finally
14、System.out.println(“finally“); 在 oneMethod()方法运行正常的情况下将显示( a ) 。 A. condition 1 finallyB. condition 2finally C. condition 1condition 2condition 3 D. finally 29. (1分 )下面关于继承的哪个叙述是正确的( a ) 。 A 在 java 中只允许单一继承。 B 在 java 中一个类只能实现一个接口。 C 在 java 中一个类不能同时继承一个类和实现一个接口。 D java 的多重继承使代码更可靠。 30. (1分 )下面代码哪一行在编
15、译时可能产生错误( 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 第二大题:实践题(70 分)1. 程序逻辑题(20分)问题描述:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第 10 次落地时共经过
16、多少米?第 10 次反弹多高? (备注:考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹中的文件命名参照提示所给的程序架构。例:第一题的试题文件夹名为“1”,文件名为“Exam1.java”,对应的字节码文件为:Exam1.class。)2. 程序界面设计(25分)问题描述:如下图所示,设计一个库存查询窗口,要求能够在选择商品种类的同时,在窗口中显示该商品的价格和数量。商品有“色拉油“,“齐心汽水“,“米酒“,“冰淇淋“,“蛋糕“,相对应的价格和数量分别是:“56“、“8“、“10“、“20“、“90“,“232“、“50“、“109“、“48“、“30“。
17、程序结构如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Exam2 extends JFrame implements ItemListener/声明数组、标签、文本框、组合框和面板public Exam2()/构造方法public void itemStateChanged(ItemEvent e)/事件处理方法public static void main(String args)new Exam2();(备注:考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题
18、目编号。文件夹中的文件命名参照提示所给的程序架构。例:第一题的试题文件夹名为“1”,文件名为“Exam1.java”,对应的字节码文件为:Exam1.class。)3. 多线程应用(25分)问题描述:模拟3个人排除买票,张某、李某和赵某买电影票,售票员只有3张五元的钱,电影票5元一张。张某拿20元一张的 RMB 排在李某的前面,李某排在赵某的前面拿一张10元的 RMB 买票,赵某拿一张5元的 RMB 买票。输出结果如下图所示:程序结构如下:class Exam3 implements RunnableTicketSeller seller; /声明 TicketSeller 对象Thread
19、buyer1,buyer2,buyer3; /声明三个线程对象Exam3()/创建并启动线程public void run() /线程体if(Thread.currentThread() = buyer1)seller.rule(20); /调用 rule()方法实现购票else if(Thread.currentThread() = buyer2)seller.rule(10);else if(Thread.currentThread() = buyer3)seller.rule(5);public static void main(String args) new Exam3();class TicketSellerint money5=3, money10=0, money20=0;/表示售票员持有5元、10元、20元人民币的数量String s=null; /定义变量保存输出信息public synchronized void rule(int money)/同步方法,模拟购票(备注:考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。文件夹中的文件命名参照提示所给的程序架构。例:第一题的试题文件夹名为“1”,文件名为“Exam1.java”,对应的字节码文件为:Exam1.class。)