Java程序设计试卷及答案(共9页).doc
精选优质文档-倾情为你奉上XXXX大学2006 /2007学年第一学期考试试卷课程名称: Java程序设计 考试方式: 闭卷 完成时限:120分钟班级名称: 学号: 姓名: 题号一二三四五六七八九十总分分值得分阅卷人一、选择题(每题2分,共30分)1、 Java程序的执行过程中用到一套JDK工具,其中java.exe是指 。 A.Java文档生成器B.Java解释器 C.Java编译器D.Java类分解器 2、 Java语言中,下列标识符错误的是 。A.sys1 B.&m C.ID.40name3、 下列语句执行后,变量a、c的值分别是 。int x=182; int a,c; c=x/100; a=x%10; A) 1,2 B) 2,1 C) 1.82, 2 D) 100,82 4、应用程序的main方法中有以下语句,则输出的结果是 。String s1="0.5",s2="12" double x=Double.parseDouble(s1); int y=Integer.parseInt(s2); System.out.println(x+y); A) 12.5 B) 120.5 C) 12 D) “12.5” 5、下列程序段执行后的结果是 。 String s=new String("abcdefg");for(int i=0;i<s.length();i+=2) System.out.print(s.charAt(i); A) aceg B) ACEG C) abcdefg D) abcd 6、Java编程所必须的默认引用包为 。 A.java.sys包B.java.lang包 C.java.new包D.以上都不是 7、执行下列代码后, 结论是正确的String s=new String10; A.s10为B.s9为null C.s0为未定义 D.s.length为101 8、定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为 。 A.private class MyClass extends Object B.class MyClass extends Object C.public class MyClass D.private class MyClass extends Object 9、JAVA程序经常用到“递归”,“递归”的基本思想是 。 A.“让别人反复调用自己”B.“自己反复调用别人” C.“自己反复调用自己”D.以上说法都不对10、Java中访问限定符不包括 。A.public B.private C.defaultD.final 11、Applet类的直接父类是 。A.Component类 B.Container类 C.Frame类 D.Panel类12、Frame的默认的布局管理器是下列哪一个 。A.FlowLayoutB.BorderLayout C.GridLayoutD.CardLayout 13、在下列事件处理机制中 不是机制中的角色。 A.事件B.事件源 C.事件接口D.事件处理者14、下面属于Java线程同步方法的方法有( ) 。A.joiny()B.run() C.wait() D.destroy() 15、下列说法不正确的是 。 A.IOException必须被捕获或抛出 B.java语言会自动初始化变量的值 C.java语言不允许同时继承一个类并实现一个接口 D.java语言会自动回收内存中的垃圾二、多选题 (每题至少有一个正确答案,多选少选都不给分,每题2分,共10分)16、下面的说法正确的是 。A.Java 语言是面向对象的、解释执行的网络编程语言。B.Java 语言具有可移植性,是与平台无关的编程语言。C.Java 语言可对内存垃圾自动收集。D.Java 语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。17、.定义变量如下: char c='w' int i=8; long L=15; float f=8.9f; 以下赋值语句正确的是 。 A) i=c+i; B) c=c+i; C) L=f+L; D) f=i+L+f; 18、.面向对象程序设计的基本特征是 。A)抽象 B)封装 C)继承 D)多态 19. 编译并运行下面的程序,运行结果为 。public class T1 public static void main (String args) T1 a=new T1(); a.method(8); a.method(1.2f); void method(float i) System.out.println("float: "+i); void method(long i) System.out.println("long: "+i); A)程序有编译错误,因为两个method()方法必须定义为静态(static)的。B)程序可以编译运行,输出结果为: long: 8 float: 1.2C)程序可以编译运行,输出结果为: float: 1.2 long: 8 D) 程序中定义的两个参数不同的method方法称为方法重栽。 20、下面是在命令行运行Java应用程序A,怎样才能在main(String args)方法中访问单词"first" 。java A the first snow , the first snow came.A)args0 B)args1 C)args2 D)args5 三、 填空题(每空格2分,共20分)21、基类的公有成员在派生类中的访问权限由 决定。22、派生类从一个或多个以前定义的该类的 继承数据和函数。23、程序中实现多线程的方法有两种:继承_类和实现Runnable接口。24、Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_块来捕获和处理异常。25、编写同时具有Applet与Application的特征的程序。具体方法是:作为Application要定义main()方法,并且把main()方法所在的类定义一个 类。为使该程序成为一个Applet,main()方法所在的这个类必须继承Applet类或JApplet类。26、能将显示空间分成很多层的布局管理器是_。27、使用Swing编写Applet,则该Applet的主类应该定义为_28、任何一个Java程序都默认引入了一个包,这个包的名字叫java. _。29、Java程序可以分为两种:应用程序和_。30、接口中的成员只有静态常量和_。四、阅读程序题(本大题4小题,每小题5分,共20分)1. (5分)1: public class Output1 2: public static void main(String arge) 3: int i=0;4: for ( char ch = 97; ch<113; ch+,i+) 5: if( i % 8 = 0 ) 6: System.out.println(" ");7: System.out.print("t" +ch); 8: 9: 10: (1)程序第5、6行的if语句的功能是什么? (2分) (2)程序输出的结果有几行?(3分)2、(5分)1: import java.util.Arrays;2: 3: public class SortArray 4: public static void main(String args) 5: String str = "size", "abs","length","class"6: Arrays.sort(str);7: for (int i=0; i<str.length; i+)8: System.out.print(stri+" ");9: 10: (1)写出程序运行后的结果。(2分)(2)方法调用str0.length()的返回结果是多少?(3分)3. (5分)1: /TestKeyListener.java2: import java.applet.Applet;3: import java.awt.*;4: import java.awt.event.*;5: 6: public class TestKeyListener extends Applet 7: 8: Color clr;9: 10: public void init() 11: 12: addKeyListener(13: new KeyAdapter() 14: public void keyTyped( KeyEvent e ) 15: if(e.getKeyChar()='r'|e.getKeyChar()='R')16: clr=Color.red;17: else if(e.getKeyChar()='g'|e.getKeyChar()='G')18: clr=Color.green;19: else if(e.getKeyChar()='b'|e.getKeyChar()='B')20: clr=Color.blue;21: else 22: clr=Color.black; 23: setBackground(clr);24: 25: ); 26: 27: (1)程序第15、16行实现的功能是什么?(2分)(2)编译该程序,并编写嵌入该程序字节码文件的网页后,通过支持java的浏览器打开网页。如果敲击键盘的b键,有什么结果?(3分)4. (5分)import java.util.*;public class W static String s="甲","乙","丙","丁" public static void main(String args) Stack stk=new Stack(); for(int i=0;i<s.length;i+) stk.push(si+" "); int k=0; while(k<3) System.out.print(stk.pop(); k+; (1)堆栈的操作规则如何?(2分) (2)写出程序运行后的结果。(3分)五、编程题 (本大题2小题,每小题10分,共20分)1、请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face和suit:分别描述一张牌的牌面值(如:A、K、Q、J、10、9、3、2等)和花色(如:“黑桃”、“红桃”、“梅花”和“方块”)。定义Card类中的public访问权限的构造方法,为类中的变量赋值;定义protected访问权限的方法getFace(),得到扑克牌的牌面值; 定义protected访问权限的方法getSuit(),得到扑克牌的花色; 定义方法toString(),返回表示扑克牌的花色和牌面值字符串(如“红桃A”、“梅花10”等)。2、若应用程序的main方法中,定义字符串数组f和s: 分别表示扑克牌的牌面值和花色;定义52个元素的Card类型数组deck,用来存放4个花色的52张牌。如下所示。 String f = "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" ; String s = "黑桃", "红桃", "梅花", "方块" ; Card deck = new Card 52 ; (1)使用Card类的构造方法给deck数组的52张牌赋值,要求数组中先存放黑桃花色的A、2、3、K;然后是红桃花色的A、2、3、K;梅花花色的A、2、3、K;方块花色的A、2、3、K。请写出实现上述功能的程序段。XXXX大学2006 /2007学年第一学期考试试卷一、选择题(每题2分,共30分)1、B 2、 D 3、B 4、A 5、A 6、B 7、B 8、C 9、C 10、D 11、D 12、B 13、C14、C 15、C二、多选题 (每题至少有一个正确答案,多选少选都不给分,每题2分,共10分)1、A,B,C,D2、AD 3、ABCD 4、BD 5、BD三、填空题(共20分)1. 访问控制(或其它等价形式) 2. 基类 3. Thread 4. catch 5. public 6. CardLayout 7. Applet 8. Lang 9.小应用程序 10. 抽象方法 四、阅读程序题(本大题2小题,每小题5分,共20分)1、(1)每打印8个字符,则换行。(2)输出的结果有2行。2、(1) abs class length size (2) 43、(1) 如果敲击键盘的r键,则将颜色对象的值赋为红色。(2) 小程序的背景颜色变为兰色。4、(1) 先进后出 (2) 丁 丙 乙五、编程题 (本大题2小题,每小题10分,共20分)1、class Card private String face; private String suit; public Card( String f, String s ) face = f; suit = s; protected String getSuit() return suit; protected String getFace() return face; public String toString() return face + " of " + suit; 2、 (1)for ( int i = 0; i < deck.length; i+ ) deck i = new Card( faces i % 13 , suits i / 13 );(2)for ( int first= 0; first< deck.length; first+ ) int second = ( int ) ( Math.random() * 52 ); Card temp = deck first; deck first = deck second ; deck second = temp;专心-专注-专业