1、国家计算机二级(Java)74 及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.在程序读入字符文件时,能够以该文件作为直接参数的类是【 】(分数:2.00)A.FileReaderB.BufferedReaderC.FileInputStreamD.ObjectInputStream2.下列程序执行后,字符串 s 应是( )。 String greets=“hello“; String s=greetssubstring(0,3); (分数:2.00)A.elloB.hellC.helloD.hl3
2、.JComponent 的直接父类是( )。(分数:2.00)A.I=4x=5B.I=7x=15C.I=6x=8D.I=10x=74.关于多线程,下列哪个说法不正确? (分数:2.00)A.多线程就是同时执行几个事件B.多线程是将程序分为几个并行的子任务,由它们并发交叉执行C.一个进程可产生多线程,形成执行流D.Java 语言支持多线程5.对如下二叉树,进行后序遍历的结果为【 】 (分数:2.00)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA6.要将 web 页中的数据装载到 Java 应用程序中,下列哪种方式最佳?(分数:2.00)A.6 3B.3 6C.编译出错D.07
3、.类 Test 定义如下,将下列哪个方法插入行处是不合法的? public class Test public float Method(float a,float b) (分数:2.00)A.快捷菜单中只有条形菜单B.快捷菜单中只有弹出式菜单C.快捷菜单不能同时包含条形菜单和弹出式菜单D.快捷菜单能同时包含条形菜单和弹出式菜单8.如果局部变量与实例变量同名,如何在局部变量的作用域内引用实例变量?(分数:2.00)A.2B.3C.1D.09.下列哪个选项不能提高程序的性能?(分数:2.00)A.不要在循环中创建和释放对象B.在处理字符串时尽量使用 StringBuffer 类C.避免太多的使用
4、 synchronized 关键字D.尽量在循环中创建对象10.下列描述中,错误的是【 】(分数:2.00)A.Java 要求编程者管理内存B.Java 的安全性体现在多个层次上C.Applet 要求在支持 Java 的浏览器上运行D.Java 有多线程机制11.现有一变量声明为 boolean aa,下列的赋值语句正确的是( )。(分数:2.00)A.aa=falseB.aa=FalseC.aa=“true“D.aa=012.JDK 中提供的文档生成器是【 】(分数:2.00)A.java.exeB.javap.exeC.javadoc.exeD.javaprof.exe13.设 X,Y 为
5、已定义的类名,下列声明 X 类的对象 x1 的语句中正确的是( )。(分数:2.00)A.在 Swing 中用轻量级的构件替代了 AWT 中的重量级构件,而且 Swing 的替补构件中都包含有一些其他的特性B.Swing 的按钮和标签可显示图标和文本,而 AWT 的按钮和标签只能显示文本C.与 AWT 相同的是,Swing 构件也可以直接添加到顶级容器中D.与 AWT 相同的是,Swing 也采用了布局管理器来管理构件的排放、位置和大小等布置任务14.Thread 类中能运行线程体的方法是【 】(分数:2.00)A.start()B.resume()C.init()D.run()15.下列哪个
6、是为嵌入式和移动设备提供的 Java 平台?(分数:2.00)A.J2DEB.J2SEC.J2MED.Y2EE16.子类可以继承父类的哪个成员?(分数:2.00)A.transientB.serializeC.synchronizedD.static17.下列关于使用内部类的原因叙述中不正确的是( )。(分数:2.00)A.Java 语言中所有的异常都必须由程序员通过 try-catch-finally 语句实现B.Java 中异常可以被继承C.程序员可以通过继承 Exception 类定义自己的异常D.异常在 Java 中是有层次的18.保证 Java 语言可移植性的特征是【 】(分数:2.
7、00)A.面向对象B.安全性C.分布式计算D.可跨平台19.下列方法中可以用来创建一个新线程的是【 】(分数:2.00)A.实现 javalangRunnable 接口并重写 start()方法B.实现 javalangRunnable 接口并重写 run()方法C.继承 javalangThread 类并重写 run()方法D.实现 javalangThread 类并实现 start()方法20.下列关于 Java 程序结构的说法有误的是( )。(分数:2.00)A.-1B.255C.127D.编译错误21.下列关于 Java 语言的数据类型和表达式的说法不正确的是( )。(分数:2.00)
8、A.LEN(“2003/04/15“)B.OCCURS(“电脑“,“计算机俗称电脑“)C.AT(“Fox“,“Visual FoxPro“)D.LIKE(“a *”,“abcd“)22.下列程序的执行结果是( )。 public class Testff public static void main(String args) String sl=new String(“I am boy“); String s2=new String(“I am boy“); System.out.println(sl=s2); (分数:2.00)A.trueB.falseC.“I am boy“D.都不正确
9、23.下列哪个类是 Applet 进行绘制的关键类,它支持基本绘图,另外还支持图形绘制方法?(分数:2.00)A.多线程B.动态连接C.异常同步D.异常处理24.在 Java 中,由 Java 编译器自动导入而无需在程序中用 import 导入的包是【 】(分数:2.00)A.iavaAppletB.javaawtC.javaUtilD.javalang25.给出下列有关 List 的表达式,则哪个选项的叙述是对的? List 1 = new List(6,true); (分数:2.00)A.No 5 6 8B.5 6 8 NoC.No 5 14D.8 6 No 526.下面是一个 Java
10、的应用程序,其输出结果是( )。 public class Testll public static void main (String args ) char c=i; for(int n;6;n11;m + +) if(n = =8)continue; Systemoutprint(c + +); (分数:2.00)A.Hello,World!B.Hello,C.World!D.该程序段有语法错误27.阅读下面程序 1 public class Try extends Thread 2 public static void main(String args) 3 Try t=new Try
11、(); 4 t.start(); 5 6 7 public void run(int j) 8 int i=0; 9 while(i5) 10 System.out.println(“祝你成功!”); 11 i+; 12 13 14 该程序要求打印 5 行“祝你成功!”,必须改正程序中的某行代码,程序才能完成。选择正确的修改是【 】 (分数:2.00)A.将第 1 行的 extendsThread 改为 implementsRunnableB.将第 3 行的 newTry()改为 newThread()C.将第 4 行 t.start()改为 start(t)D.将第 7 行的 publicv
12、oidrun(intj)改为 publicvoidrun()28.在下列 AWT 的基本构件中,哪一个为下拉式菜单组件的名称?(分数:2.00)A.ButtonB.ChoiceC.LabelD.Scroll29.下列关于字符串的叙述错误的是( )。(分数:2.00)A.创建了字符串对象后,字符串所代表的文本根据情况可改变B.字符串由 java.lang.String 和 java.lang.StringBuffer 定义C.字符串常用数组存储,处理字符串实际上就是对数组元素的分别处理,要注意数组下界不要越界D.在 Java 语言中,字符串是作为对象来处理的30.在 AWT 了组件中,为了实现单
13、选按钮的功能,除了用到 Checkbox 组件以外,还需要用到下列哪个组件? (分数:2.00)A.ChioceB.ButtonC.JRadioButtonD.CheckboxGroup31.下列关于串行化说法有误的是( )。(分数:2.00)A.在定义可串行化时,只需要声明 implements Serializable 子句即可B.可串行化类的数据的访问权限(public,protected,package 或 private),对于数据的串行化会有权限上的影响C.对于对象的串行化处理,程序员可以不编写任何方法,使用 Java 提供的串行化默认机制D.如果需要对对象的串行化进行更具体的控制
14、,我们要用到定制串行化的功能32.下列哪个是面向大型企业级用容器管理专用构件的应用平台?(分数:2.00)A.J2EEB.J2MEC.J2SED.J2DE33.要实现对 Java 代码的数字签名,对于代码的提供者要经过的 4 个步骤的正确顺序是( )。 创建 JAR 文件 创建密钥 对 JAR 文件进行数字签名 输出公钥证书 (分数:2.00)A.内存映射技术B.文件锁定C.字符及编码D.阻塞 I/O34.下面叙述正确的是【 】(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.
15、以上三种描述都不对35.下列数组 a 中,版本较新的能在程序运行时动态调整大小的是【 】(分数:2.00)A.int aB.StringaC.a=new ArrayList()D.anew Array()二、填空题(每空 2 分,共 30 分)(总题数:15,分数:30.00)36.下列程序的执行结果是 1。 import java.io. * ; public class ArrayTest public static void main(String args ) int i; int a =new int5; for(i=0; i=0;i- -) System.out.print(“a“
16、+i+“=“+ai); (分数:2.00)填空项 1:_37.如果有一个类 MyFrame 是 Frame 的子类,能够被不同包中的类所使用,请写出该类的声明头: 1。(分数:2.00)填空项 1:_38.赋值表达式是由位于赋值运算符左边的变量和右边的 1 组成。(分数:2.00)填空项 1:_39.AWT 事件分为两大类:低级事件和高级事件。其中 1是指基于语义的事件,它可以不和特定的动作相关联,而依赖于触发此事件的类。 (分数:2.00)填空项 1:_40. 1 日历类提供日期和时间的表示,它以格里历(即阳历)来计算。(分数:2.00)填空项 1:_41.下列是一个 Java 应用程序,输
17、出结果是 1。 public class Testtt public static void main(String args ) charc=i; for(int n=6;n填空项 1:_42.Java Applet 中的事件处理机制与 Java Application 相同,采用 1 方式。(分数:2.00)填空项 1:_43.Java 中的继承机制之所以能够降低程序的复杂性,提高编程的效率,主要是因为它使代码可 1。(分数:2.00)填空项 1:_44.设有数组定义:int a = 1l,22,33,44,55,66,77,88,99;则执行下列几个语句后的输出结果是 1。 for( i
18、nt i= 0 ;i =7 的值为 True 时才停止。所以当程序结束运行后 I=7 ,x=11。4.关于多线程,下列哪个说法不正确? (分数:2.00)A.多线程就是同时执行几个事件 B.多线程是将程序分为几个并行的子任务,由它们并发交叉执行C.一个进程可产生多线程,形成执行流D.Java 语言支持多线程解析:多线程不是同时执行几个事件,在某个时间上,计算机还是在执行一个事件,只是多线程将程序分为几个并行的子任务,由它们并发交叉执行。在宏观上看,好像是同时执行几个事件。 5.对如下二叉树,进行后序遍历的结果为【 】 (分数:2.00)A.ABCDEFB.DBEAFCC.ABDECFD.DEB
19、FCA 解析:二叉树后序遍历的简单描述如下:若二叉树为空,则结束返回。否则(1)后序遍历左子树:(2)后序遍历右子树;(3)访问根结点。也就是说,后序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后遍历右子树,最后访问根结点,并且在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。根据后序遍历的算法,后序遍历的结果为 DEBFCA。6.要将 web 页中的数据装载到 Java 应用程序中,下列哪种方式最佳?(分数:2.00)A.6 3B.3 6 C.编译出错D.0解析:本题中有成员函数和它的重载函数,要注意它们的不同在本题中先调用了 init 函数,
20、初始化了X,Y,都为 0,valueX(5);又将 X 变为 5,所以输出 5 和 0,然后初始化 init(6,2),接着又 value Y(4);将 X,Y 设为 6 和 4,所以输出 6 和 4。7.类 Test 定义如下,将下列哪个方法插入行处是不合法的? public class Test public float Method(float a,float b) (分数:2.00)A.快捷菜单中只有条形菜单B.快捷菜单中只有弹出式菜单 C.快捷菜单不能同时包含条形菜单和弹出式菜单D.快捷菜单能同时包含条形菜单和弹出式菜单解析:在 Visual FoxPro 中,类可分为控件类和容器类
21、。控件类用于进行一种或多种相关的控制,其封装性比容器类更加严密,但灵活性比容器类差,故答案为 C)。8.如果局部变量与实例变量同名,如何在局部变量的作用域内引用实例变量?(分数:2.00)A.2 B.3C.1D.0解析:本题考查 return 语句的用法和函数的调用。本题函数 Max 的功能是求出两个整数中的较大者,并且通 return 语句返回。9.下列哪个选项不能提高程序的性能?(分数:2.00)A.不要在循环中创建和释放对象B.在处理字符串时尽量使用 StringBuffer 类C.避免太多的使用 synchronized 关键字D.尽量在循环中创建对象 解析:提高程序的性能的规则是不要
22、在循环中创建和释放对象;在处理 字符串时尽量使用 StringBuffer类;避免太多的使用 synchronized 关键字。10.下列描述中,错误的是【 】(分数:2.00)A.Java 要求编程者管理内存 B.Java 的安全性体现在多个层次上C.Applet 要求在支持 Java 的浏览器上运行D.Java 有多线程机制解析:选项 A,为了充分利用资源,Java 有一个系统级的线程,用来对内存的使用进行跟踪,它可以在系统空闲时对不用的内存空间进行回收,从而使程序员从繁忙的内存管理中解放出来。选项 B,Java 的代码安全检测体现在多个层次上,在编译层、解释层、平台层分别作不同的安全检查
23、。选项 C,Applet 本身不能运行,但能够嵌入到 Web 浏览器中运行。选项 D,多线程是 Java 程序的并发机制,它能同步共享数、处理不同的事件。因此,本题的正确答案是 A。11.现有一变量声明为 boolean aa,下列的赋值语句正确的是( )。(分数:2.00)A.aa=false B.aa=FalseC.aa=“true“D.aa=0解析:布尔值 true 和 false 在 Java 语言中是必须小写的,这点不同于 C 语言和 C+语言而且 true 和false 不对应任何数值,包括 O 和 1它不能和数字进行相互转换,本身就是一种数据类型写法不需要加“ “,如选项 C)
24、aa=“true“,这样的定义说明 aa 是个字符串。 12.JDK 中提供的文档生成器是【 】(分数:2.00)A.java.exeB.javap.exeC.javadoc.exe D.javaprof.exe解析:在 JDK 中:java.exe 是 Java 解释器,直接从类文件执行 Java 字节码程序。 javap.exe 是 Java 反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。javadoc.exe 是文档生成器,对 Java 源码和包以 MML 格式产生 AP 文档。 javaprof.exe 是 Java 剖析工具,提供解释器剖析信息。因此,本题的正确
25、答案是 C。13.设 X,Y 为已定义的类名,下列声明 X 类的对象 x1 的语句中正确的是( )。(分数:2.00)A.在 Swing 中用轻量级的构件替代了 AWT 中的重量级构件,而且 Swing 的替补构件中都包含有一些其他的特性B.Swing 的按钮和标签可显示图标和文本,而 AWT 的按钮和标签只能显示文本C.与 AWT 相同的是,Swing 构件也可以直接添加到顶级容器中 D.与 AWT 相同的是,Swing 也采用了布局管理器来管理构件的排放、位置和大小等布置任务解析:不是所有的浏览器都识别相同的归档文件格式和指定归档文件的 HTML 代码。 14.Thread 类中能运行线程
26、体的方法是【 】(分数:2.00)A.start()B.resume()C.init()D.run() 解析:选项 A,start()是 Thread 类中的方法。新建的线程不会自动运行,必须调用线程的 start()方法,才能运行该线程。选项 B,resume()是 Thread 类提供的用于线程控制的方法。调用该方法,用于恢复因调用 suspend()而暂停的线程继续执行。选项 C,init()不是 Thread 类中的方法。选项 D,run()是Thread 类中的方法,在该方法中定义了线程的具体行为。线程开始执行时,就是从它的 run()方法开始执行的,就像 Java 应用程序从 ma
27、in()开始、Applet 从 init()开始一样。因此正确答案是 D。15.下列哪个是为嵌入式和移动设备提供的 Java 平台?(分数:2.00)A.J2DEB.J2SEC.J2ME D.Y2EE解析:我们需要知道 J2ME 为嵌入式和移动设备提供的 Java 平台。注意:J2ME 为嵌入式和移动设备提供的 Java 平台,它的体系结构由 Profile,Configuration 和 Optional Packages 组成,其中Configuration 是由虚拟机和最小类库组成,按嵌入和移动两种设备相应的又分为 CDC 和 CLDC 两种。16.子类可以继承父类的哪个成员?(分数:2
28、.00)A.transientB.serializeC.synchronized D.static解析:一般情况下,通过重写 run()方法来定义线程体。17.下列关于使用内部类的原因叙述中不正确的是( )。(分数:2.00)A.Java 语言中所有的异常都必须由程序员通过 try-catch-finally 语句实现 B.Java 中异常可以被继承C.程序员可以通过继承 Exception 类定义自己的异常D.异常在 Java 中是有层次的解析:Java 中不允许用 0 和 1 来代替 true 和 false。true 和 false 是布尔型,而 0 是整数类型,它们在计算机中存储的位数
29、就不同,所以 Java 语言规定,这两个类型不能随便代替。注意:位运算符中,的优先级最高,其次是和 ,在这里,没有 的原因是用 可以代替 ,其实这两个运算符实现的功能是完全一样的。这里我们只要知道逻辑移位不同于算术移位就完全可以了。18.保证 Java 语言可移植性的特征是【 】(分数:2.00)A.面向对象B.安全性C.分布式计算D.可跨平台 解析:本题考查 Java 语言的特点。Java 语言的特点是考试重点,务必掌握。跨平台的特点保证了 Java语言的可移植性,同时,Java 的类库也具有可移植性。Java 本身的编译器也用 Java 语言编写,运行系统的虚拟机用 C 语言实现,这样,J
30、ava 系统本身也具有可移植性。19.下列方法中可以用来创建一个新线程的是【 】(分数:2.00)A.实现 javalangRunnable 接口并重写 start()方法B.实现 javalangRunnable 接口并重写 run()方法C.继承 javalangThread 类并重写 run()方法 D.实现 javalangThread 类并实现 start()方法解析:本题考查考生对创建线程的使用。创建线程有两种方法:通过实现 Runnable 接口创建线程和通过继承 Thread 类创建线程。通过实现 Runnable 接口创建线程,当实现 Runnable 接口的类的对象用来创建
31、线程以后,该线程的启动将使得对象的 run()方法被调用。通过继承 Thread 类创建线程,可以通过继承Thread 类,并重写其中的 rrn()方法定义线程体,然后创建该子类的对象创建线程。线程创建是考试重点内容,务必掌握。20.下列关于 Java 程序结构的说法有误的是( )。(分数:2.00)A.-1B.255C.127D.编译错误 解析:int fox =new int3;这时数组的每个元素都初始化为 0,所以 int baz=bar+index;其实,这时 bar 的值是 0,这样便有 baz 的值 1。 21.下列关于 Java 语言的数据类型和表达式的说法不正确的是( )。(分
32、数:2.00)A.LEN(“2003/04/15“)B.OCCURS(“电脑“,“计算机俗称电脑“)C.AT(“Fox“,“Visual FoxPro“)D.LIKE(“a *”,“abcd“) 解析:Do-Loop 循环的执行规则是:Do-LoopWhileUntil形式的循环先执行循环体,然后再进行条件判断;Do WhileUntil-Loop 形式的循环是先进行条件判断,然后决定是否执行循环体。While 的含义是,若为“真”,则执行循环体;若为“假”,则结束循环。Until 的含义是,若为“假”,则执行循环体;若为“真”,则结束循环。根据以上分析,选项 A)输出 3 个“*”,选项 B
33、)输出 1 个“*”,选现 C)没有输出”*”,选项 D)输出 4 个“ *”。22.下列程序的执行结果是( )。 public class Testff public static void main(String args) String sl=new String(“I am boy“); String s2=new String(“I am boy“); System.out.println(sl=s2); (分数:2.00)A.trueB.false C.“I am boy“D.都不正确解析:在 Java 语言中,“=”不仅可以用于基本数据类型之间的比较,还可以用于复合数据类型之间的
34、比较。注意:对于复合类型的“=”运算,其比较的目标是两个操作数是否是同一个对象,虽然题目中,a1 和 s2 的值都是 I am boy,但是它们是不同的对象,比较后的结果应是 false。如果需要比较两个对象的值是否相等,可以用 equals()方法。23.下列哪个类是 Applet 进行绘制的关键类,它支持基本绘图,另外还支持图形绘制方法?(分数:2.00)A.多线程B.动态连接C.异常同步 D.异常处理解析:Java 标识符的命名规则:标识符是以字母、下划线和美元符作为 首字符的字符串序列,在首字母后面可以跟字母,下划线、美元符和数字。标识符是区 分大小的。标识符的字符数目没有限制。24.
35、在 Java 中,由 Java 编译器自动导入而无需在程序中用 import 导入的包是【 】(分数:2.00)A.iavaAppletB.javaawtC.javaUtilD.javalang 解析:本题考查 Java 中包的概念。Java 中用 import 语句来导入包,但需注意的是, Java 语言中的javalang 包是由编译器直接自动导入的,因此,编程时使用该包中的类,可省去 import 导入。使用其他包中的类,必须用 import 导入,选项 D 为正确答案。25.给出下列有关 List 的表达式,则哪个选项的叙述是对的? List 1 = new List(6,true);
36、 (分数:2.00)A.No 5 6 8B.5 6 8 NoC.No 5 14 D.8 6 No 5解析:本题里有三个 for 循环,但要分清楚,第一个是单独的给三个元素赋值,赋完值后三个 a0=0,a1=1,a2=2;后面的两个 for 是嵌套循环,对数组元素的赋值,但由于 k=2,初值已定 for 里的条件是小于 k,所以不管怎么处理都影响不到 a 2,故答案为 2。26.下面是一个 Java 的应用程序,其输出结果是( )。 public class Testll public static void main (String args ) char c=i; for(int n;6;n
37、11;m + +) if(n = =8)continue; Systemoutprint(c + +); (分数:2.00)A.Hello,World! B.Hello,C.World!D.该程序段有语法错误解析:在本题中使用了 If 语句与 GoTo 语句。当 c10 时,输出 c,并继续运行;当大于 10 时,显示“10 以内的奇数显示完毕。”并结束程序。开始时,a=2,c=1,执行语句 c=c+a 后 c 为 3,小于 10,故输出 c 的值 3,所以本题的正确答案为选项 A)。27.阅读下面程序 1 public class Try extends Thread 2 public st
38、atic void main(String args) 3 Try t=new Try(); 4 t.start(); 5 6 7 public void run(int j) 8 int i=0; 9 while(i5) 10 System.out.println(“祝你成功!”); 11 i+; 12 13 14 该程序要求打印 5 行“祝你成功!”,必须改正程序中的某行代码,程序才能完成。选择正确的修改是【 】 (分数:2.00)A.将第 1 行的 extendsThread 改为 implementsRunnableB.将第 3 行的 newTry()改为 newThread()C.将
39、第 4 行 t.start()改为 start(t)D.将第 7 行的 publicvoidrun(intj)改为 publicvoidrun() 解析: 本题考查线程的创建。Java 语言中提供两种创建线程的方法,一种是通过实现 Runnable 接口来创建线程,另一种是通过继承 Thread 类创建线程。显然,题目中的程序是使用第二种方法来创建线程。Thread 类中定义了 run()方法,所以通过继承 Thread 类来创建线程时还要重写 Thread 类中的 run()方法。而 run()方法的定义如下: public void run() 题目中的代码比较简单,就是创建了一个线程,这
40、个线程完成的操作就是打印 5 行“祝你成功”。仔细阅读程序,不难发现第 7 行有错。在 run()方法的定义中是没有参数的,而题目程序中的 run 方法却带有一个参数。因此,要把第 7 行的代码改为“public void run()”。因此,本题的正确答案是 D。 28.在下列 AWT 的基本构件中,哪一个为下拉式菜单组件的名称?(分数:2.00)A.ButtonB.Choice C.LabelD.Scroll解析:AWT 中有许多基本的构件,其中下拉式菜单(Choice)是具有每次只能选择其中一项的功能的构件,它能够节省显示空间,用于大量选择。Chioce 用 Item-Listener
41、接口来进行监听。 29.下列关于字符串的叙述错误的是( )。(分数:2.00)A.创建了字符串对象后,字符串所代表的文本根据情况可改变 B.字符串由 java.lang.String 和 java.lang.StringBuffer 定义C.字符串常用数组存储,处理字符串实际上就是对数组元素的分别处理,要注意数组下界不要越界D.在 Java 语言中,字符串是作为对象来处理的解析:一旦创建了个字符串对象,该字符串所代表的文本就不能改变了。30.在 AWT 了组件中,为了实现单选按钮的功能,除了用到 Checkbox 组件以外,还需要用到下列哪个组件? (分数:2.00)A.ChioceB.But
42、tonC.JRadioButtonD.CheckboxGroup 解析:使用 Checkbox(复选框)和 CheekboxGroup(复选框组)都可以实现单选框的功能。 31.下列关于串行化说法有误的是( )。(分数:2.00)A.在定义可串行化时,只需要声明 implements Serializable 子句即可B.可串行化类的数据的访问权限(public,protected,package 或 private),对于数据的串行化会有权限上的影响 C.对于对象的串行化处理,程序员可以不编写任何方法,使用 Java 提供的串行化默认机制D.如果需要对对象的串行化进行更具体的控制,我们要用到
43、定制串行化的功能解析:可串行化类的数据的访问权限(public,protected,Package 或 Private),对于数据的串行化没有影响。数据是以字节形式写入流而字符串型数据将表示 UTF 格式,即文件系统安全全局字符集转换格式。注意:正如题目中选项 C)和选项 D)中所描述的一样,对于对象的串行化处理,程序员可以不编写任何方法,使用 Java 提供的串行化默认机制;对于很多类,默认的串行化处理已经能够满足串行化的需要,但这种默认的串行化比较慢,另外有时可能需要对对象的串行化进行更具体的控制,我们要用到定制串行化的功能。32.下列哪个是面向大型企业级用容器管理专用构件的应用平台?(分
44、数:2.00)A.J2EE B.J2MEC.J2SED.J2DE解析:J2EE 是面向大企业级用容器管理专用构件的应用平台,其具有强 大的服务功能如命令服务、事务服务、安全服务、部署服务消息服务、邮件服务等。 33.要实现对 Java 代码的数字签名,对于代码的提供者要经过的 4 个步骤的正确顺序是( )。 创建 JAR 文件 创建密钥 对 JAR 文件进行数字签名 输出公钥证书 (分数:2.00)A.内存映射技术B.文件锁定C.字符及编码D.阻塞 I/O 解析:Java 虚拟机的执行过程的三个特点是多线程,动态连接和异常处理。34.下面叙述正确的是【 】(分数:2.00)A.算法的执行效率与
45、数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止 D.以上三种描述都不对解析:A 选项错误,因为算法的执行效率与算法执行过程中所需基本运算的执行次数有关;B 选项错误,原因是算法的空间复杂度是指执行这个算法所需要的内存空间;C 选项正确,故 D 选项不正确。35.下列数组 a 中,版本较新的能在程序运行时动态调整大小的是【 】(分数:2.00)A.int aB.StringaC.a=new ArrayList() D.anew Array()解析:本题考查数组的概念。数组的定义与初始化是考试重点,也是比较容易出错的地
46、方,应该灵活掌握。动态初始化需要使用 new 操作符来分配内存空间,既可以在声明时初始化,也可以在声明以后初始化。 声明时初始化: 类型数组名=new 类型数组长度; 声明后初始化: 类型数组名;数组名=new 类型数组长度; 选项 A 定义了一个整型数组,不符合题意;选项 B 定义了一个字符串数组。在 Java 语言中用一种特殊的类javautilArrayList(数组列表)在运行时能动态调整数组的大小。ArrayList类在定义数组时,不必限定数组的大小。在数组列表初始化时,可用 add()方法将数组元素赋值。 二、填空题(每空 2 分,共 30 分)(总题数:15,分数:30.00)3
47、6.下列程序的执行结果是 1。 import java.io. * ; public class ArrayTest public static void main(String args ) int i; int a =new int5; for(i=0; i=0;i- -) System.out.print(“a“+i+“=“+ai); (分数:2.00)填空项 1:_ (正确答案:a4=4 a3=3 a2=2 a1=1 a0=0)解析:注意数组的下标是从 0-数组名.length-1。本题示范了如何创建数组,对每个数组元素赋值,按数组元素的下标逆序输出。 37.如果有一个类 MyFram
48、e 是 Frame 的子类,能够被不同包中的类所使用,请写出该类的声明头: 1。(分数:2.00)填空项 1:_ (正确答案:public class MyFrame extends Frame)解析:本题考查对类声明的理解。类声明的格式为: 修饰符class 类名extends 父类名implements类实现的接口列表其中口括起来的内容为可选项。关键字 class 是类定义的开始,类名应符合标识符命名规则。关键字 extends 指明该类是子类,它的父类名紧跟其后,子类与父类之间有继承关系。关键字implements 指明该类实现的接口,后跟接口名列表。要注意掌握类声明的概念,虽然很简单,但容易漏掉有关修饰符。38.赋值表达式是由位于赋值运算符左边的变量和右