1、国家计算机二级(Java)103 及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.下列程序的执行结果是( )。 public class Testhh public static void main(String args ) Strings1=new String(“I am boy“); Strings2=new String(“I am boy“);System.out.println(s1.equals(s2); (分数:2.00)A.副教授$“教授“B.3+5#2*4C.计算机 0) j =
2、i * 2; System.out.println(“The value of j is“ + j); k=k + 1 (分数:2.00)A.line 4B.line 6C.line 7D.line 821.在 Applet的生命周期中,下列哪个方法使 Applet成为激活状态?(分数:2.00)A.start( )B.run( )NULLC.init( )D.thread( )22.下列关于 JavaApplication与 Applet的说法中,正确的是【 】(分数:2.00)A.都包含 main()方法B.都通过“appletviewer“命令执行C.都通过“iavac“命令编译D.都嵌
3、入在 HTML文件中执行23.在 AWT组件中用复选框组构件 CheckboxGroup实现单选框的功能,但在 Swing中,Java 语言直接提供了一个单选框,它是( )。(分数:2.00)A.JButtonB.JComboBoxC.JRadioButtonD.JCheckBox24.在 Java中,数组是当成什么来处理?(分数:2.00)A.20 20B.30 20C.30 40D.15 1525.下列关于 Java的说法正确的是( )。(分数:2.00)A.Java中的类可以有多个直接父类B.抽象类不能有子类C.最终类可以作为其他类的父类D.Java中接口支持多继承26.下列哪个选项是正
4、确计算 42度(角度)的余弦值?(分数:2.00)A.从模板函数实参表获得的信息有矛盾B.需要获得特定类型的返回值,而不管参数的类型如何C.虚拟类型参数没有出现在模板函数的形参表中D.函数模板不含有常规形参27.在 Java语言的类库中提供哪个类,所有自己创建的异常对象都必须是它的实例或它的子类的实例?(分数:2.00)A.fun( );B.Base.fun( );C.Base:fun( );D.Base-fun( );28.当浏览器重新返回 Applet所在页面时,将调用 Applet类的方法是【 】(分数:2.00)A.start()B.init()C.stop()D.destroy()2
5、9.下列是 Applet的运行过程经历的 4个步骤,这些步骤正确的顺序应是( )。 浏览器中的Java运行环境运行该 Applet 浏览器加载 HTML文件中指定的 Applet类 浏览器解析 HTML文件 浏览器加载指定 URL中的 HTML文件 (分数:2.00)A.B.C.D.30.若下列选项中的变量已正确定义并赋值,则哪个是合法的赋值语句?(分数:2.00)A.a=1;B.+i;C.a=a+1=5D.! (+a! =b-)31.下列哪个选项不能提高程序的性能?(分数:2.00)A.不要在循环中创建和释放对象B.在处理字符串时尽量使用 StringBuffer类C.避免太多的使用 syn
6、chronized关键字D.尽量在循环中创建对象32.下列关于 Applet的方法中,哪个是返回 HTML中设定的值?(分数:2.00)A.Score=1B.Score=2C.Score=3D.Score=433.Java中哪个类是由编译器自动生成的一个特殊类,它伴随每个类,每个它的对象包含所属类的所有信息,可通过此类的方法访问这些信息? (分数:2.00)A.ClassB.ObjectC.SystemD.awt34.在读取二进制数据文件的记录时,为了提高效率常常使用一种辅助类【 】(分数:2.00)A.InputStreamB.FileInputStreamC.StringBufferD.B
7、ufferedReader35.在程序读入字符文件时,能够以该文件作为直接参数的类是【 】(分数:2.00)A.FileReaderB.BufferedReaderC.FileInputStreamD.ObjectInputStream二、填空题(每空 2分,共 30分)(总题数:15,分数:30.00)36.一棵二叉树第六层(根结点为第一层)的结点数最多为 1 个。(分数:2.00)填空项 1:_37.Java程序中定义接口所使用的关键字是 1。(分数:2.00)填空项 1:_38.流按照数据类型的不同,可以分为 1 和字符流。(分数:2.00)填空项 1:_39.catch子句都带有一个参
8、数,该参数是某个异常的类及其变量名,catch 用该参数去与抛出异常对象的类进行 1。 (分数:2.00)填空项 1:_40.catch子句都带有一个参数,该参数是某个异常的类及其变量名,catch 用该参数去与抛出异常对象的类进行 1。 (分数:2.00)填空项 1:_41.对话框(Dialog)是 1 类的子类。(分数:2.00)填空项 1:_42.在实现 Serializable的类中,静态变量和使用 1 关键字可以使某些数据不被串行化。(分数:2.00)填空项 1:_43.Java语言的各种数据类型之间提供两种转换,分别是 1 和强制转换。(分数:2.00)填空项 1:_44.在事件处
9、理的过程中,主要涉及到的 3个对象分别是事件、 1 和事件处理者。(分数:2.00)填空项 1:_45.能将显示空间分成很多层的布局管理器是 1。(分数:2.00)填空项 1:_46.面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和 1 的集合体。(分数:2.00)填空项 1:_47.在实现 Serializable的类中,静态变量和使用 1 关键字可以使某些数据不被串行化。(分数:2.00)填空项 1:_48.在 Java语言中提供了标准类库,为编程所需的低层模块提供了常用的方法和接口,并将它们分装成包,每个包又包括子包,形成 1 结构的类层次。 (分数:
10、2.00)填空项 1:_49.Java中方法的参数传递是 1 调用,方法不能改变参数值,但可以改变变量值,两个对象之间的参数字段不能相互交换。(分数:2.00)填空项 1:_50.数据管理技术发展过程经过人工管理、文件系统和数据库系统 3个阶段,其中数据独立性最高的阶段是 1。(分数:2.00)填空项 1:_国家计算机二级(Java)103 答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:35,分数:70.00)1.下列程序的执行结果是( )。 public class Testhh public static void main(
11、String args ) Strings1=new String(“I am boy“); Strings2=new String(“I am boy“);System.out.println(s1.equals(s2); (分数:2.00)A.副教授$“教授“B.3+5#2*4C.计算机 0) j = i * 2; System.out.println(“The value of j is“ + j); k=k + 1 (分数:2.00)A.line 4B.line 6C.line 7 D.line 8解析:局部变量在使用前必须进行初始化,而代码中的变量 k在使用前 没有进行初始化。 21
12、.在 Applet的生命周期中,下列哪个方法使 Applet成为激活状态?(分数:2.00)A.start( )B.run( )NULL C.init( )D.thread( )解析:Java 中对共享数据操作的并发控制是采用传统的封锁技术。用 synchro- nized()来定义临界区,使得各个线程互斥的访问临界区。22.下列关于 JavaApplication与 Applet的说法中,正确的是【 】(分数:2.00)A.都包含 main()方法B.都通过“appletviewer“命令执行C.都通过“iavac“命令编译 D.都嵌入在 HTML文件中执行解析:本题考查 Java Appl
13、ication与 Applet的区别。Applet 与 Application的主要区别在执行方式上,Application以 main()方法为入口点运行,Applet 要在浏览器或 appletviewer 中运行,运行过程比Application更复杂。两者都是通过“javac“命令编译,所以只有选项 C说法正确。23.在 AWT组件中用复选框组构件 CheckboxGroup实现单选框的功能,但在 Swing中,Java 语言直接提供了一个单选框,它是( )。(分数:2.00)A.JButtonB.JComboBoxC.JRadioButton D.JCheckBox解析:JRadio
14、Button 是 Swing的单选框。注意:JButton 是一个常用的构件,它可以在按钮上显示文字和图标,这是比 AWT 要丰富的。JComboBox 每次只能选择其中的项,但是可编辑每项的内容,而且每项的内容可以是任意类,而不是局限于 String。JCheckBox 是复选框构件。24.在 Java中,数组是当成什么来处理?(分数:2.00)A.20 20B.30 20 C.30 40D.15 15解析:被调过程 Value的两个参数 m和 n前面都有关键字“ByVal”修饰,即在主调过程调用此过程时,实参与形参之间是以传值方式传递信息的,而当实参与形参以传值方式相结合时,形参的改变并没
15、有影响到实参,单单就这一点来说,我们可知,当程序代码执行主调过程中的 PrimP;q 语句时,p 和 q的值应不变,还是 12,20,这样就能够排除选项 A)和选项 B)了。当主调过程调用被调过程时,把实参 p,q 的值分别传给形参 m和 n,这就是说此时形参 m值为 12,n 值为 20,执行被调过程中的 m=m * 2:n=n-5 语句后,m 值为 24,n 值为 15,所以 Print m;n 后,程序输出的结果为 24和 15。最后程序输出的结果如选项 C)所示。25.下列关于 Java的说法正确的是( )。(分数:2.00)A.Java中的类可以有多个直接父类B.抽象类不能有子类C.
16、最终类可以作为其他类的父类D.Java中接口支持多继承 解析:java 中接口支持多继承。选项 A) Java语言只允许类间有单继承关系。选项 D) 抽象类是专门为别的类继承它而定义的。选项 C) final声明一个类后,这个类不能被其他类继承,它是最终类。 26.下列哪个选项是正确计算 42度(角度)的余弦值?(分数:2.00)A.从模板函数实参表获得的信息有矛盾B.需要获得特定类型的返回值,而不管参数的类型如何C.虚拟类型参数没有出现在模板函数的形参表中D.函数模板不含有常规形参 解析:一般使用过滤流时要求把过滤流连接到某个 I/O流上,再通过构造方法的参数去指定连接的 I/O流。27.在
17、 Java语言的类库中提供哪个类,所有自己创建的异常对象都必须是它的实例或它的子类的实例?(分数:2.00)A.fun( );B.Base.fun( );C.Base:fun( ); D.Base-fun( );解析:本题要求判断 ij 的执行次数,只需考查经过 i+=k运算累计的值,i 的值分别为2,4,6,8,10,12 时,判断 ij 为真,程序结束,共执行 6次 28.当浏览器重新返回 Applet所在页面时,将调用 Applet类的方法是【 】(分数:2.00)A.start() B.init()C.stop()D.destroy()解析:本题考查 Applet的运行方式。当 ini
18、t()方法完成后,将调用 start()方法,使 Applet 成为激活状态。该方法在 Applet每次显示时都要调用。例如浏览器由最小化复原,或浏览器从一个 URL返回该Applet所在的页面,一般常在 start()中启动动画或播放声音等的线程。29.下列是 Applet的运行过程经历的 4个步骤,这些步骤正确的顺序应是( )。 浏览器中的Java运行环境运行该 Applet 浏览器加载 HTML文件中指定的 Applet类 浏览器解析 HTML文件 浏览器加载指定 URL中的 HTML文件 (分数:2.00)A. B.C.D.解析:Applet 作为 Java的个重要组成部分,有着与应用
19、程序不同的执行过程。下图是入门程序 hello在浏览器中的运行过程。*30.若下列选项中的变量已正确定义并赋值,则哪个是合法的赋值语句?(分数:2.00)A.a=1;B.+i; C.a=a+1=5D.! (+a! =b-)解析:赋值运算符分为赋值运算符(=)和扩展运算符。其中“=”赋值运算符必须满足在赋值运算符的左边是一变量,右边是一表达式;扩展运算符是在赋值运算符“=”前加上其他运算符,如:+ =,*=,=等,特殊的一个表达式是+和-,如选项 B) +i;中的意思是 i=i+1;它其实是个合法的赋值语句。选项 A) a= =1和选项 D) !(+ +a!=b-)都是布尔逻辑表达式,不属于赋值
20、表达式的范畴。 31.下列哪个选项不能提高程序的性能?(分数:2.00)A.不要在循环中创建和释放对象B.在处理字符串时尽量使用 StringBuffer类C.避免太多的使用 synchronized关键字D.尽量在循环中创建对象 解析:提高程序的性能的规则是不要在循环中创建和释放对象;在处理 字符串时尽量使用 StringBuffer类;避免太多的使用 synchronized关键字。32.下列关于 Applet的方法中,哪个是返回 HTML中设定的值?(分数:2.00)A.Score=1B.Score=2 C.Score=3D.Score=4解析:For 循环有两种格式,其中一种格式是:
21、For 循环变量=初值 To 终值 Step 步长 语句 Exit For 语句 Next 循环变量 此循环语句的执行过程为:“循环变量”首先取得“初值”,检查是否超过“终值”,如果超过,就一次也不循环而眺出循环,属于“先检查后执行”的类型。观在来看程序段, For k=1 To 0 中,初值为 1,终值为 0,显然当“循环变量”首先取得“初值”1,检查后超过 “终值”0,所以一次也不执行,即最后执行 Print,k=1,a=5。 33.Java中哪个类是由编译器自动生成的一个特殊类,它伴随每个类,每个它的对象包含所属类的所有信息,可通过此类的方法访问这些信息? (分数:2.00)A.Clas
22、s B.ObjectC.SystemD.awt解析:知道 Class是由编译器自动生成的一个特殊类,它伴随每个类,每个它的对象包含所属类的所有信息,可通过此类的方法访问这些信息。 34.在读取二进制数据文件的记录时,为了提高效率常常使用一种辅助类【 】(分数:2.00)A.InputStreamB.FileInputStreamC.StringBuffer D.BufferedReader解析: 本题考查 Java语言的输入/输出流。选项 A的 InputStream类、选项 B、的 FilelnputStream类、选项 D的 BufferedReader类都是 Java语言中和输入输出直接
23、相关的类,不属于辅助类,因此可以直接判断出选项 C为正确答案。 另一方面,我们也可以详细分析每个选项。题目中要求读取二进制数据文件的记录,因此要使用字符输入流。选项 A的 InputStream是java.io 包中的抽象类,是所有字节输入流的父类。题目要求的是字符输入流,显然,选项 A不对。选项 B的 FileInputStream 是一个字节输入流,它可以对一个磁盘文件涉及的数据进行处理。和选项 A一样,选项 B是错的。选项 C的StringBuffer是一个表示可变长度字符串的类,在读取文件时并不知道读取字符的具体长度,因此为StringBuffer类对象分配的内存会自动扩展从而容纳新增
24、的字符,这提高了读取的效率。所以,StringBuffer是一个可以提高读取文件效率的辅助类。故选项 C是正确答案。选项 D的 BufferedReader虽然是一个字符输入流,用于从字符输入流中读取文本并将字符存入缓冲区。但是, BufferedReader 直接用于文件的读取,不起辅助作用。所以,选项 D是错误的。 35.在程序读入字符文件时,能够以该文件作为直接参数的类是【 】(分数:2.00)A.FileReader B.BufferedReaderC.FileInputStreamD.ObjectInputStream解析:FileReader、BufferedReader 是字符类
25、输入流。FileInputStream 是字节输入流。对象串行化时,需要使用 ObjectInputStream类中提供的方法从对象流中读取对象。所以,在程序读入字符文件时,要使用字符流 FileReader或 BufferedReader。但是 FileRead 的参数是读入的文件,而 BufferedReader的参数是 FileRead流的一个对象。因此,本题的正确答案是 A。二、填空题(每空 2分,共 30分)(总题数:15,分数:30.00)36.一棵二叉树第六层(根结点为第一层)的结点数最多为 1 个。(分数:2.00)填空项 1:_ (正确答案:32)解析: 二叉树的一个性质是,
26、在二叉树的第 k层上,最多有 2(上标)k-1(k1)个结点。由此,2(上标)6-1等于 32。所以答案为 32。37.Java程序中定义接口所使用的关键字是 1。(分数:2.00)填空项 1:_ (正确答案:interface)解析:接口的定义为访问权限interface 接口名extends 父类接口。38.流按照数据类型的不同,可以分为 1 和字符流。(分数:2.00)填空项 1:_ (正确答案:字节流)解析:字节流是未经加工的原始二进制数据;而字符流是经一定编码处理后,符合某种格式规定的特定数据。注意:在 JDK11 版本之前,javaio 包中的流只有普通的字节流,它们是以 byte
27、为基本的数据处理单位。这种流对于以 16位的 Unicode码表示的字符流处理很不方便,所以以后的版本,javaio 包中加入了专门用于字符流处理的类,它们是从 Reader和 Writer继承的一系列类。39.catch子句都带有一个参数,该参数是某个异常的类及其变量名,catch 用该参数去与抛出异常对象的类进行 1。 (分数:2.00)填空项 1:_ (正确答案:匹配)解析:catch 子句都带有一个参数,该参数是某个异常的类及其变量名,catch 用该参数去与抛出异常对象的类进行匹配。匹配上后就去执行该 catch后的程序段,即处理该异常。 40.catch子句都带有一个参数,该参数是
28、某个异常的类及其变量名,catch 用该参数去与抛出异常对象的类进行 1。 (分数:2.00)填空项 1:_ (正确答案:匹配)解析:catch 子句都带有一个参数,该参数是某个异常的类及其变量名,catch 用该参数去与抛出异常对象的类进行匹配。匹配上后就去执行该 catch后的程序段,即处理该异常。 41.对话框(Dialog)是 1 类的子类。(分数:2.00)填空项 1:_ (正确答案:Window)解析:主要熟悉 AWT基本构件的特点。对话框和一般窗口的区别在于它依赖于其 他窗口。42.在实现 Serializable的类中,静态变量和使用 1 关键字可以使某些数据不被串行化。(分数
29、:2.00)填空项 1:_ (正确答案:transient)解析:静态变量和使用 transient关键字可以使某些数据不被串行化,这样可以使这些敏感数据不能写入流中,也不会通过串行化进行恢复。在这种情况下,提高了安全性。 43.Java语言的各种数据类型之间提供两种转换,分别是 1 和强制转换。(分数:2.00)填空项 1:_ (正确答案:自动转换)解析:Java 中有两种数据类型转换,自由转换和强制转换。44.在事件处理的过程中,主要涉及到的 3个对象分别是事件、 1 和事件处理者。(分数:2.00)填空项 1:_ (正确答案:事件源)解析:在事件处理的过程中,主要涉及到的 3个对象分别是
30、:事件:用户对界面操作在 Java语言上的描述,以类的形式出现。事件源:事件所发生的场所,通常就是各个构件。事件处理者:接收事件对象并对其进行处理的对象。45.能将显示空间分成很多层的布局管理器是 1。(分数:2.00)填空项 1:_ (正确答案:CardLayout 或卡片布局)解析:布局管理器分为下面几类: (1)FlowLayout 布局管理器:构件在容器中的放置规律是从上到下,从左到右进行放置,如果当前行已经放置不下该构件,则放置到下一行的最左边。 (2)BorderLayout 布局管理器:构件在容器中的放置规律是把容器分为东、南、西、北、中五个区域,每个区域只能放一个构件。 (3)
31、GridLayout 布局管理器:构件在容器中的放置规律是各个构件呈网格状布局,从上到下,从左到右平均占据容器的空间。 (4)CardLayout 布局管理器 c构件布局规律是把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件,当然每层都可以利用 Panel来实现复杂的用户界面。 因此,本题的正确答案是 CardLayout或卡片布局管理器。 46.面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和 1 的集合体。(分数:2.00)填空项 1:_ (正确答案:方法)解析:本题考查 Java中面向对象的概念。Java 语言的特点是考试
32、重点,利用面向对象技术是其中之一。面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和方法的集合体,每个类都有自己的特性和操作,也就是变量和方法。47.在实现 Serializable的类中,静态变量和使用 1 关键字可以使某些数据不被串行化。(分数:2.00)填空项 1:_ (正确答案:transient)解析:静态变量和使用 transient关键字可以使某些数据不被串行化,这样可以使这些敏感数据不能写入流中,也不会通过串行化进行恢复。在这种情况下,提高了安全性。 48.在 Java语言中提供了标准类库,为编程所需的低层模块提供了常用的方法和接口,并将它们分
33、装成包,每个包又包括子包,形成 1 结构的类层次。 (分数:2.00)填空项 1:_ (正确答案:树)解析:知道 Java语言中的类和继承的概念,树结构也就不难理解。注意:树结构中根结点是 Object。49.Java中方法的参数传递是 1 调用,方法不能改变参数值,但可以改变变量值,两个对象之间的参数字段不能相互交换。(分数:2.00)填空项 1:_ (正确答案:传值)解析:本题考查 Java中方法的参数传递。Java 中方法的参数传递是传值调用,而不是地址调用。方法不能改变参数值,但可以改变变量值,两个对象之间的参数字段不能互相交换。参数传递是 Java中一个重要概念,注意理解。50.数据
34、管理技术发展过程经过人工管理、文件系统和数据库系统 3个阶段,其中数据独立性最高的阶段是 1。(分数:2.00)填空项 1:_ (正确答案:数据库系统或数据库系统阶段 或 数据库 或 数据库阶段或数据库管理技术阶段)解析: 在数据库系统管理阶段,数据是结构化的,是面向系统的,数据的冗余度小,从而节省了数据的存储空间,也减少了对数据的存取时间,提高了访问效率,避免了数据的不一致性,同时提高了数据的可扩充性和数据应用的灵活性:数据具有独立性,通过系统提供的映像功能,使数据具有两方面的独立性:一是物理独立性,二是逻辑独立性:保证了数据的完整性、安全性和并发性。综上所述,数据独立性最高的阶段是数据库系统阶段。