1、二级 JAVA笔试-237 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求分析说明书和( )。(分数:2.00)A.阶段性报告B.需求评审C.总结D.都不正确2.下列有关算法的描述中错误的是( )。(分数:2.00)A.所谓算法是指解题方案的准确而完整的描述B.算法的基本特征有:可行性、确定性、有穷性和拥有足够的情报等C.算法的复杂度主要包括时间复杂度和空间复杂度D.算法的时间复杂度是指执行算法程序所需要的时间3.软件生命周期是指( )。(分数:2.00)A.软件产品
2、从提出、实现、使用维护到停止使用退役的过程B.软件产品从提出、实现到使用维护的过程C.软件产品从提出到实现的过程D.软件产品从提出、实现到使用的过程4.Java图形开发包支持了 Java语言的哪项特性( )。(分数:2.00)A.安全性B.跨平台性C.健壮性D.多态性5.下列叙述中正确的是( )。(分数:2.00)A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树足线性结构6.在 Java中,存放字符串变量的对象属于( )类对象。(分数:2.00)A.CharacterB.StringC.StringBufferD.Vector7.有如下程序public class
3、 Sunpublic static void main(String args )int x=1,a=0,b=0;switch(x)case 0:b+;case 1:a+;case 2:a+;b+;System.out.println(“a=“+a+“,“+“b=“+B) 该程序的输出结果是( )。(分数:2.00)A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=0,b=08.Java程序的执行方式是( )。(分数:2.00)A.即时编译方式和非解释执行方式B.非即时编译方式和非解释执行方式C.非即时编译方式和解释执行方式D.即时编译方式和解释执行方式9.表达式-31555555
4、 值为( )。(分数:2.00)A.NULLB.-1C.3D.102410.当使用对现存文件的引用创建 FileOutputStxeam(filename,false)时,发生了什么事情? ( )(分数:2.00)A.引发异常B.写入到流中的数据将追加在现存文件之后C.将用写入到流中的数据替换现存文件D.文件不发生变化11.Swing中要响应动作事件必须实现 ActionListener接口,而实现 ActionListenrer接口必须实现的方法是 ( )。(分数:2.00)A.actionPerfonned()B.focusGained()C.actionMoved()D.focusLos
5、t()12.下列关于 J2EE的特点的说法中错误的是( )。(分数:2.00)A.J2EE的基础是 J2SEB.J2EE提供高度的安全性支持C.支持事务处理和异步通信D.支持面向过程的 Web开发13.下列叙述正确的是( )。(分数:2.00)A.非空线性表可以有几个节点没有前件B.线性表的数据元素不可以由若干个数据项构成C.除根节点和终端节点,其他节点都有且只有一个前件,也有且只有一个后件D.线性表必须要有数据元素14.下列属于 Java编译命令的是( )。(分数:2.00)A.javacB.javaC.javadocD.appletviewer15.执行以下的循环后输出的值为( )。 pu
6、blic class Sunpublic static void main (String args )int m=1000, s=0, n=0;don=n+l;s=s+(int)Math.pow(2,n);while (s=m);System.out.println(“n=“+n+“,“+“s=“+s);(分数:2.00)A.n=9, s=1000B.n=8, s=1022C.n=9, s=1022D.n=8, s=100016.若给下面的方法传入参数 67时,输出结果为( )。public int MaskOff(int N)return N3;(分数:2.00)A.3B.64C.67D.
7、017.一个队列的进队列顺序是 1、2、3、4,则出队列顺序为( )。(分数:2.00)A.4,3,2,1B.2,4,3,1C.1,2,3,4D.3,2,1,418.用树形结构来表示实体之间联系的模型称为( )。(分数:2.00)A.关系模型B.层次模型C.网状模型D.数据模型19.下列选项中属于 Java核心包的是( )。(分数:2.00)A.javax.swingB.javax.namingC.javax.soundD.java.io20.下面哪个语句会产生编译错误? ( )(分数:2.00)A.float F=4096.0 F;B.double D=4096.0;C.byte B=409
8、6;D.char C=4096;21.在串行化类中实现部分串行化的两个方法为( )。(分数:2.00)A.writeExtemal()和 readExtemal()B.writeObject()和 readObject()C.Datalnput()和 DataOutput()D.read()和 write()22.当从现存类中派生出新类时,不能在派生类中做的是( )。(分数:2.00)A.增加新的成员变量B.增加新的成员方法C.重新定义已有的成员方法D.改变父类的数据成员或成员方法23.有以下程序public class Sunpublic static void main(string ar
9、gs )int a, b;for(a=1, b=1; a=100; a+)if(b=10break;if (b%3 1)b+=3;continue;System.cut.println((分数:2.00)A.;执行后的输出结果是( )。A) 101B.6C.5D.424.数据库 DB,数据库系统 DBS,数据库管理系统 DBMS,这 3者之间的关系是( )。(分数:2.00)A.DBS包括 DB和 DBMSB.DBMS包括 DB和 DBSC.DB包括 DBS 和 DBMSD.DBS就是 DB,也就是 DBMS25.下列关于 Java变量作用域的说法中,不正确的是( )。(分数:2.00)A.在
10、 Java程序中要使用一个变量,必须先对其进行声明B.变量声明语句可以在程序的任何地方,只要在变量使用之前即可C.变量不可以在其作用域之外使用D.局部变量在使用之前可以不初始化,系统使用默认的初始值26.若有说明 ints34=0,则下面叙述正确的是( )。(分数:2.00)A.只有元素 s00可得到初值 0B.此说明语句不正确C.数组 s中各个元素都可得到初值,但其值不一定为 0D.数组 s中每个元素均可得到初值 027.Java的线程调度采用的策略是( )。(分数:2.00)A.先到先服务B.先到后服务C.后到先服务D.不确定28.有如下程序public class Testint a,b
11、;Test ( )a = 100;b = 200;Test(int x, int y)a = x;b = y;public static void main(String args)Test Obj1 = new Test(12,45);System.out.println(“a = “Obj1.a+“ b = “+Ob31.B) ;Test Obj1 = new Test();System.out.println(“a = “Obj1.a+“ b = “+Obj1.B) ;程序的运行结果为( )。(分数:2.00)A.a=100 b=200a=12 b=45B.a=12 b=45a=100
12、b=200C.a=12 b=200a=100 b=45D.a=100 b=45a=12 b=20029.采用面向对象技术开发的应用系统的特点是( )。(分数:2.00)A.重用性更强B.运行速度更快C.占用存储量小D.维护更复杂30.关于 Applet的生命周期,叙述正确的是( )。(分数:2.00)A.init()方法在 start()方法之前执行B.init()方法在 start()方法之后执行C.stop()在 Applet退出时被调用,只调用 1次D.stop()在 Applet可见时被调用,可以被调用多次31.用 HTML文件显示 Applet时,下面哪些属性是必不可少的? ( )(
13、分数:2.00)A.name, height, widthB.code, nameC.codebase, height, widthD.code, height, width32.集合类容纳的对象可以是( )。(分数:2.00)A.BooleanB.byteC.ObjectD.char33.下列说法中,错误的是( )。(分数:2.00)A.事件源可以是一个构件B.事件在 java语言中以类的形式出现C.事件处理者可以是一个构件D.事件处理者接收事件对象,然后做出相应的处理34.在下列排序方法中,平均时间性能为 O(nlog2n)且空间性能最好的是( )。(分数:2.00)A.快速排序B.堆排序
14、C.归并排序D.基数排序35.Java的字符类型采用的是 Unicode编码方案,每个 Unicode码占用( )个字节。(分数:2.00)A.1B.2C.3D.4二、填空题(总题数:15,分数:30.00)36.已知序列 17,18,60,40,7,32,73,65,85,采用冒泡排序法对该序列做降序排序时,第 4趟的结果是 【1】 。(分数:2.00)填空项 1:_37. 【2】 是按照程序语句行的自然顺序,依次执行语句。(分数:2.00)填空项 1:_38.调试方法中的 【3】 最适合小规模程序的排错。(分数:2.00)填空项 1:_39.实体联系模型是一种常用的高级上 【4】 模型,而
15、 【5】 是实体联系模型中的核心。(分数:2.00)填空项 1:_40.若 a=12,b=14,c=0,则表达式(y=(ab)?a:bc)?y:c 的值为 【6】 。(分数:2.00)填空项 1:_41.Java语言中 【7】 是所有类的根。(分数:2.00)填空项 1:_42.在对一个复杂表达式进行运算时,要按运算符的优先顺序从高到低进行,同级的运算符则按照 【8】 进行。(分数:2.00)填空项 1:_43.为了实现线程之间的通信,java.lang.Obiect 提供了 2个方法,即 wait()和 【9】 。(分数:2.00)填空项 1:_44.Java中的线程由 CPU、 【10】
16、、数据等 3部分构成。(分数:2.00)填空项 1:_45.Java中定义的对象流是 【11】 。(分数:2.00)填空项 1:_46.下面 ButtonFrame类创建了一个容器,包含有 3个按键。 import javax.swing.*;public class ButtonFrame extends JFrameJButton Button1= new JButton(“Button1“);JButton Button2= new JButton(“Button2“);JButton Button3= new JButton(“Button3“);public ButtonFrame(
17、)super(“ButtonFrame“);setSize (100,150);setDefaultCloseOperation(JFrame. EXIT ON CLOSE);JPanel pane = new JPanel();pane.add(Buttonl);pane. add(Button2);pane. add (Button3);【12】 ;public static void main(String args)ButtonFrame bf= new ButtonFrame();bf. show(;请在程序代码中的画线处添上正确的语句,使程序完整。(分数:2.00)填空项 1:_4
18、7.在事件处理过程中,涉及的 3类对象是事件、事件源和 【13】 。(分数:2.00)填空项 1:_48.类名与接口名都采用 【14】 描述符,并且所有单词的第 1个字母大写。(分数:2.00)填空项 1:_49.当用户 a刷新浏览器时,浏览器将会先卸载 ApPlet,然后再 【15】 。(分数:2.00)填空项 1:_50.下列 Applet计算数组元素的和,并在窗口坐标(50,50)处输出该结果。请在横线处填写正确的代码。import java.awt. Graphics;import java.applet.Applet;public class Testl2 extends Apple
19、tint a=2,4,6,8,10;int sum;public void init()sum=0;for(int i-0;ia.length;i+)sum= 【16】 ;public void paint( Graphics g)g.drawString(“数组元素和:“+sum, 50,50);(分数:2.00)填空项 1:_二级 JAVA笔试-237 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求分析说明书和( )。(分数:2.00)A.阶段性报告B.需求评审 C
20、.总结D.都不正确解析:解析 本题考核软件需求分析的 4个阶段,分别为需求获取、需求分析、编写需求分析说明书和需求评审。2.下列有关算法的描述中错误的是( )。(分数:2.00)A.所谓算法是指解题方案的准确而完整的描述B.算法的基本特征有:可行性、确定性、有穷性和拥有足够的情报等C.算法的复杂度主要包括时间复杂度和空间复杂度D.算法的时间复杂度是指执行算法程序所需要的时间 解析:解析 算法的时间复杂度是指算法执行过程中所需要的基本运算次数。3.软件生命周期是指( )。(分数:2.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程 B.软件产品从提出、实现到使用维护的过程C.软件产品
21、从提出到实现的过程D.软件产品从提出、实现到使用的过程解析:解析 软件生命周期是个重要概念,考生应很好掌握。它是指软件产品从提出、实现、使用维护到停止使用退役的整个过程。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。4.Java图形开发包支持了 Java语言的哪项特性( )。(分数:2.00)A.安全性B.跨平台性 C.健壮性D.多态性解析:解析 Java 语言的跨平台性要求 Java的图形用户界面程序也要支持跨平台性,而 Java语言其他的特性在图形开发包中体现的不是很明显。5.下列叙述中正确的是( )。(分数:2.00)A.线性表是线性结构 B.栈与队列是非线性结
22、构C.线性链表是非线性结构D.二叉树足线性结构解析:解析 一个线性结构需要满足以下两个条件:一是有且只有一个根节点,二是每个节点最多有一个前件,也最多有一个后件。选项中的线形表、栈与队列、线性链表都满足这两个条件,所以它们都是线性结构,而二叉树虽然只有一个根节点,但它的每个节点可以有两个子树,不满足线性结构的每个节点最多有一个前件,也最多有一个后件这一条件。所以它不是线性结构。6.在 Java中,存放字符串变量的对象属于( )类对象。(分数:2.00)A.CharacterB.StringC.StringBuffer D.Vector解析:解析 本题考查对字符串对象的理解。在生成字符串的两个类
23、 String和 StringBuffer中,前者生成的字符串是不变字符串,不能直接对它的内容进行修改,而后者生成的字符串是可变的,可以对其内容进行修改。而 Character类是对字符类型的类封装。Vector 类是 Java语言提供给用户的一种通用类,是一种链表结构的类型。故本题答案是 C。7.有如下程序public class Sunpublic static void main(String args )int x=1,a=0,b=0;switch(x)case 0:b+;case 1:a+;case 2:a+;b+;System.out.println(“a=“+a+“,“+“b=“
24、+B) 该程序的输出结果是( )。(分数:2.00)A.a=2,b=1 B.a=1,b=1C.a=1,b=0D.a=0,b=0解析:解析 该题考查对 switch-case-break语句的理解。该题 x=1与 case 1语句匹配,执行 a+语句,a的值为 1,而 case 1语句后没有 break语句,所以程序继续向下执行 case 2语句,a+, b+,a 的值为 2,b 的值为 1。故本题答案选项是 A。8.Java程序的执行方式是( )。(分数:2.00)A.即时编译方式和非解释执行方式B.非即时编译方式和非解释执行方式C.非即时编译方式和解释执行方式D.即时编译方式和解释执行方式
25、解析:解析 该题考查考生对 Java程序的执行方式的掌握。Java 字节码的执行有两种方式:即时编译方式和解释执行方式。9.表达式-31555555 值为( )。(分数:2.00)A.NULLB.-1C.3 D.1024解析:解析 此题可采用排除法。由题目中的表达式,一定会得出一个有效整数,故选项 A不对。由于第 1个运算符是无符号右移运算符 ,故运算结果不可能为负数,选项 B错误。而且,由于初始值最多会被右移 31次,故不可能产生一个运算结果等于 1024的数,选项 D也错误。此题应选 C。10.当使用对现存文件的引用创建 FileOutputStxeam(filename,false)时,
26、发生了什么事情? ( )(分数:2.00)A.引发异常B.写入到流中的数据将追加在现存文件之后C.将用写入到流中的数据替换现存文件 D.文件不发生变化解析:解析 本题主要考查 Java语言的 I/O流的层次结构这个知识点。选项 A错误,当文件为只读文件时会产生异常,但是这里没有说文件是只读文件,也就是说文件为可读可写的:选项 B错误,文件输出流可以用 FileOutputStream (fllename,false)构造函数来创建,用法和 FileInputStream(String)构造函数类似,所以可以和文件名称一起指定路径。当指定写入输出流的文件时,必须小心。如果它和现存文件一样,则当开
27、始向流中写入数据时,将删除原来的文件。可以用 FileOutputStream(string,true)构造函数创建文件输出流,它在现存文件的末尾追加数据。filename 字符串指定了文件,而 Boolean 参数应该等于 true来追加数据,而不是覆盖任何现有的数据;选项 C正确,用 FileOutputStream(nlename,false)构造函数创建文件输出流时很容易覆盖现存的文件;选项 D错误,用FileOutputStream(filename,false)创建文件输出流时,如果是对现存文件的引用,将覆盖原来文件的内容,文件将发生变化。故本题答案是 C。11.Swing中要响应
28、动作事件必须实现 ActionListener接口,而实现 ActionListenrer接口必须实现的方法是 ( )。(分数:2.00)A.actionPerfonned() B.focusGained()C.actionMoved()D.focusLost()解析:解析 本题考查关于事件响应中 ActionListener方法的基本知识。选项 A正确, actionPerformed()方法是 ActionListener接口中的唯一方法;选项 B错误,focusGained()方法是FocusListener接口中的方法:选项 C错误, ActionListener 接口中没有 acti
29、onMoved();选项 D错误,focusGained()方法是 FocusListener接口中的方法。故本题答案是 A。12.下列关于 J2EE的特点的说法中错误的是( )。(分数:2.00)A.J2EE的基础是 J2SEB.J2EE提供高度的安全性支持C.支持事务处理和异步通信D.支持面向过程的 Web开发 解析:解析 J2EE 支持高效率的基于构件的 Web开发,构件是面向对象的,不是面向过程的。13.下列叙述正确的是( )。(分数:2.00)A.非空线性表可以有几个节点没有前件B.线性表的数据元素不可以由若干个数据项构成C.除根节点和终端节点,其他节点都有且只有一个前件,也有且只有
30、一个后件 D.线性表必须要有数据元素解析:解析 非空线性表有且只有一个节点没有前件,所以 A是错误的。线性表的数据元素不一定是简单项,不可以由若干个数据项构成,所以 B是错误的。线性表可以没有数据元素,称为空线性表,所以 D是错误的。答案是 C。14.下列属于 Java编译命令的是( )。(分数:2.00)A.javac B.javaC.javadocD.appletviewer解析:解析 Java 基本命令包括:javac、java、 javadoc、appletviewer、jar、jdb、javah、javap、 extcheck。其中 iavac为 Java语言的编译命令,其格式为:j
31、avac选项源文件名。15.执行以下的循环后输出的值为( )。 public class Sunpublic static void main (String args )int m=1000, s=0, n=0;don=n+l;s=s+(int)Math.pow(2,n);while (s=m);System.out.println(“n=“+n+“,“+“s=“+s);(分数:2.00)A.n=9, s=1000B.n=8, s=1022C.n=9, s=1022 D.n=8, s=1000解析:解析 本题考查对 do-while循环的理解。本题完成的功能是求当 20+21+22+.+2n
32、最少需要多少项时才能满足大于数值 m。 m=1000,当程序运行到第 8次时,循环测试条件仍然为真,所以继续执行 1次,当执行到第 9 次时,s 的值已经超过了 1000。故本题答案是 C。16.若给下面的方法传入参数 67时,输出结果为( )。public int MaskOff(int N)return N3;(分数:2.00)A.3B.64 C.67D.0解析:解析 本题考查对位运算符的掌握。 MaskOff)函数有一个参数 N,该方法将传入的参数 N与 3进行异或运算之后的结果返回。符号“”用于将两个参与运算的数据进行按位求异或运算,如果两个操作数对应位相同,则该位的结果为 0,否则结
33、果为 l。即:11=0, 10=1,01=1,00=0。在本题中,67的二进制数是 01000011,3 的二进制数是 00000011,它们俩进行异或运算后的结果为 01000000,其十进制数为 64。故本题答案是 B。17.一个队列的进队列顺序是 1、2、3、4,则出队列顺序为( )。(分数:2.00)A.4,3,2,1B.2,4,3,1C.1,2,3,4 D.3,2,1,4解析:解析 队列是指允许在一端进行插入,而在另一端进行删除的线性表。因此队列又称为先进先出的线性表。答案为 C。18.用树形结构来表示实体之间联系的模型称为( )。(分数:2.00)A.关系模型B.层次模型 C.网状
34、模型D.数据模型解析:解析 本题考核几种数据模型的表示方法。其中关系模型采用二维表来表示,简称表;层次模犁用树形结构来表示;网状模型是一个不加任何限制的无向图。19.下列选项中属于 Java核心包的是( )。(分数:2.00)A.javax.swingB.javax.namingC.javax.soundD.java.io 解析:解析 Java 类库中主要包括核心 java包、 javax 扩展包和 org扩展包。此题中 javax.swing、 javax.naming、javax.sound 都为 javax扩展包,只有 java.io为核心包。20.下面哪个语句会产生编译错误? ( )(
35、分数:2.00)A.float F=4096.0 F;B.double D=4096.0;C.byte B=4096; D.char C=4096;解析:解析 该题考查对基本数据类型的定义以及基本数据类型的取值范围的掌握。选项 A正确,Java语言默认的实型数的形式是 double类型的,要把它赋给 float类型的变量,必须在实型数后面加上 f或F字母;选项 B是正确的;选项 C是错误的,4069 已经超出了 byte类型的所能容许的范围-128127:选项 D是正确的,因为在 Java语言里,字符是用双字节表示的,4096 在它允许的范围之内。故本题答案是 C。21.在串行化类中实现部分串
36、行化的两个方法为( )。(分数:2.00)A.writeExtemal()和 readExtemal()B.writeObject()和 readObject() C.Datalnput()和 DataOutput()D.read()和 write()解析:解析 对象串行化定义分为两个层次:部分定制串行化和完全定制串行化。在串行化类中定义两个方法实现部分串行化的定制,这两个方法是 writeObject()和 readObject()。22.当从现存类中派生出新类时,不能在派生类中做的是( )。(分数:2.00)A.增加新的成员变量B.增加新的成员方法C.重新定义已有的成员方法D.改变父类的数
37、据成员或成员方法 解析:解析 一个类可以继承其父类的所有成员变量和方法,还可以重新定义父类的成员方法,但不能改变父类的数据成员。故本题的答案是 D。23.有以下程序public class Sunpublic static void main(string args )int a, b;for(a=1, b=1; a=100; a+)if(b=10break;if (b%3 1)b+=3;continue;System.cut.println((分数:2.00)A.;执行后的输出结果是( )。A) 101B.6C.5D.4 解析:解析 本题考查 for循环和 if语句的嵌套以及 break语句
38、和 continue语句的用法。第 1个 if语句的意义为:当 b=10 时退出 for循环。第 2个 if语句的意义为:如果 b%3=1时,b 的值加 3并退出本次循环。本程序当 b的值分别为 1、4、7 的时候执行 3次循环,此时 a=3, b=10,当执行第 4次循环时,a的值为 4但 b=1O,所以退出循环程序结束。答案 A没有考虑 for循环中的两个 if条件。24.数据库 DB,数据库系统 DBS,数据库管理系统 DBMS,这 3者之间的关系是( )。(分数:2.00)A.DBS包括 DB和 DBMS B.DBMS包括 DB和 DBSC.DB包括 DBS 和 DBMSD.DBS就是
39、 DB,也就是 DBMS解析:解析 本题考查考生对数据库 DB,数据库系统 DBS,数据库管理系统 DBMS 3者关系的理解。其中数据库系统是指数据库和数据库管理系统软件的合称。数据库管理系统是一个帮助用户创建和管理数据库的应用程序的集合。数据库是指存储在计算机内有结构的数据集合。25.下列关于 Java变量作用域的说法中,不正确的是( )。(分数:2.00)A.在 Java程序中要使用一个变量,必须先对其进行声明B.变量声明语句可以在程序的任何地方,只要在变量使用之前即可C.变量不可以在其作用域之外使用D.局部变量在使用之前可以不初始化,系统使用默认的初始值 解析:解析 局部变量在使用之前必
40、须初始化,否则编译错误,类的成员变量则不一定要在使用之前初始化,系统赋予其默认的初始值。26.若有说明 ints34=0,则下面叙述正确的是( )。(分数:2.00)A.只有元素 s00可得到初值 0B.此说明语句不正确C.数组 s中各个元素都可得到初值,但其值不一定为 0D.数组 s中每个元素均可得到初值 0 解析:解析 本题考查数组的定义和初始化。数组可在定义时初始化,初始化值的个数可以小于或等于数组定义的元素个数,但不可以多于数组元素个数。不足部分的数组元素系统自动以 0填充。故本题答案是 D。27.Java的线程调度采用的策略是( )。(分数:2.00)A.先到先服务 B.先到后服务C
41、.后到先服务D.不确定解析:解析 本题考查的是线程的基本概念。选项 A正确,安排线程队列中等待 CPU时间的线程被 CPU服务,称为线程调度。Java 的线程调度采用优先级基础上的先到先服务策略:选项 B和选项 C错误,其实它们是同一个意思;选项 D错误,在有些操作系统和有些语言中线程调度同时采用先到后服务和先到先服务的策略,但在 Java中采用的是先到先服务的策略。本题的答案是 A。28.有如下程序public class Testint a,b;Test ( )a = 100;b = 200;Test(int x, int y)a = x;b = y;public static void
42、main(String args)Test Obj1 = new Test(12,45);System.out.println(“a = “Obj1.a+“ b = “+Ob31.B) ;Test Obj1 = new Test();System.out.println(“a = “Obj1.a+“ b = “+Obj1.B) ;程序的运行结果为( )。(分数:2.00)A.a=100 b=200a=12 b=45B.a=12 b=45a=100 b=200 C.a=12 b=200a=100 b=45D.a=100 b=45a=12 b=200解析:解析 本题考查构造方法及构造方法重载。在上
43、面的程序中,类 Test类有两个构造方法,即使用了方法重载技术。不带参数的构造方法对类的实例变量进行特定数值的赋值,而带参数的构造方法根据参数对类的实例变量进行赋值。29.采用面向对象技术开发的应用系统的特点是( )。(分数:2.00)A.重用性更强 B.运行速度更快C.占用存储量小D.维护更复杂解析:解析 面向对象方法具有很多其他方法不具备的特点,比如多态、继承等。这些特点都决定了面向对象方法支持软件复用。对象类可以派生出新类,类可以产生实例对象,从而实现厂对象类数据结构和操作代码的软构件复用。可重用性是面向对象思想的一个重要特征。30.关于 Applet的生命周期,叙述正确的是( )。(分
44、数:2.00)A.init()方法在 start()方法之前执行 B.init()方法在 start()方法之后执行C.stop()在 Applet退出时被调用,只调用 1次D.stop()在 Applet可见时被调用,可以被调用多次解析:解析 本题是考查 Applet的生命周期。init()创建 Applet时执行,只执行 1次。当小应用程序第 1次被支持 Java的浏览器加载时,便执行该方法:start()多次执行,当浏览器从图标恢复成窗口,或者是返回该主页时执行。系统在调用完 init()方法之后,将自动调用 start()方法,而且,每当浏览器从图标恢复为窗口时,或者用户离开包含该小应
45、用程序的主页后又再返回时,系统都会再执行 1遍 start()方法;stop()多次执行,当浏览器变成图标时,或者是离开主页时执行,主要功能是停止一些耗用系统资源的工作。因此 A是正确的。31.用 HTML文件显示 Applet时,下面哪些属性是必不可少的? ( )(分数:2.00)A.name, height, widthB.code, nameC.codebase, height, widthD.code, height, width 解析:解析 该题考查对APPLET标记中最基本的属性的掌握。APPLET标记中有 3个属性是必不可少的,它们就是 CODE、HEIGHT 和 WIDTH。而
46、其他属性都是可选的。32.集合类容纳的对象可以是( )。(分数:2.00)A.BooleanB.byteC.Object D.char解析:解析 本题主要考查集合类的特点。选项 A 错误,集合类容纳的对象都是 Obiect类的实例。而boolean是一个基本类型,并不是一个对象:选项 B错误,分析同上;选项 C正确:选项 D错误,分析同选项 A。故本题答案是 C。33.下列说法中,错误的是( )。(分数:2.00)A.事件源可以是一个构件B.事件在 java语言中以类的形式出现C.事件处理者可以是一个构件 D.事件处理者接收事件对象,然后做出相应的处理解析:解析 事件处理者不是一个构件,它可以
47、叫做监听器,通常是一个类。当用户操作在事件源上触发了一个事件时,事件处理者就接收 Java 运行时系统传递过来的事件对象,然后根据不同的事件做出相应的处理。34.在下列排序方法中,平均时间性能为 O(nlog2n)且空间性能最好的是( )。(分数:2.00)A.快速排序B.堆排序 C.归并排序D.基数排序解析:解析 堆排序先把序列看成一棵大根堆或小根堆,摘取最大或最小元素后再建成新的根堆,再排序。因此它的平均时间性能为 O(nlog2n)且空间性能最好。35.Java的字符类型采用的是 Unicode编码方案,每个 Unicode码占用( )个字节。(分数:2.00)A.1B.2 C.3D.4
48、解析:解析 本题具体考查 Java语言对字符类型编码方案的理解。与 C+语言不同,Java 的字符类型采用的是 Unicode编码方案,而 Unicode编码方案每个字符占用 2个字节。故本题答案是 B。二、填空题(总题数:15,分数:30.00)36.已知序列 17,18,60,40,7,32,73,65,85,采用冒泡排序法对该序列做降序排序时,第 4趟的结果是 【1】 。(分数:2.00)填空项 1:_ (正确答案:60,40,73,65,85,32,18,17,7)解析:解析 冒泡排序法的算法基本思想是:通过无序区中相邻记录关键字间的比较和位置交换,使关键字最小的记录如气泡一般逐渐往上漂浮直至水面。整个算法是从最下面的记录开始,对每两个相邻的关键字进行比较,且使关键字较小的记录换至关键字较大的记录之前,使得经过 1 趟冒泡排序后,关键字最小的记录达到最上端,接着,再在剩下的记录中找关键字最小的记录,并把它换