二级JAVA笔试.doc_第1页
二级JAVA笔试.doc_第2页
二级JAVA笔试.doc_第3页
二级JAVA笔试.doc_第4页
二级JAVA笔试.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二级JAVA笔试-237(总分:100.00,做题时间:90分钟)一、选择题(总题数:35,分数:70.00)1.软件需求分析阶段的工作,可以分为4个方面:需求获取、需求分析、编写需求分析说明书和( )。(分数:2.00)A.阶段性报告B.需求评审C.总结D.都不正确解析:解析 本题考核软件需求分析的4个阶段,分别为需求获取、需求分析、编写需求分析说明书和需求评审。2.下列有关算法的描述中错误的是( )。(分数:2.00)A.所谓算法是指解题方案的准确而完整的描述B.算法的基本特征有:可行性、确定性、有穷性和拥有足够的情报等C.算法的复杂度主要包括时间复杂度和空间复杂度D.算法的时间复杂度是指执行算法程序所需要的时间解析:解析 算法的时间复杂度是指算法执行过程中所需要的基本运算次数。3.软件生命周期是指( )。(分数:2.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件产品从提出、实现到使用维护的过程C.软件产品从提出到实现的过程D.软件产品从提出、实现到使用的过程解析:解析 软件生命周期是个重要概念,考生应很好掌握。它是指软件产品从提出、实现、使用维护到停止使用退役的整个过程。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。4.Java图形开发包支持了Java语言的哪项特性( )。(分数:2.00)A.安全性B.跨平台性C.健壮性D.多态性解析:解析 Java语言的跨平台性要求Java的图形用户界面程序也要支持跨平台性,而Java语言其他的特性在图形开发包中体现的不是很明显。5.下列叙述中正确的是( )。(分数:2.00)A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树足线性结构解析:解析 一个线性结构需要满足以下两个条件:一是有且只有一个根节点,二是每个节点最多有一个前件,也最多有一个后件。选项中的线形表、栈与队列、线性链表都满足这两个条件,所以它们都是线性结构,而二叉树虽然只有一个根节点,但它的每个节点可以有两个子树,不满足线性结构的每个节点最多有一个前件,也最多有一个后件这一条件。所以它不是线性结构。6.在Java中,存放字符串变量的对象属于( )类对象。(分数:2.00)A.CharacterB.StringC.StringBufferD.Vector解析:解析 本题考查对字符串对象的理解。在生成字符串的两个类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=+B) 该程序的输出结果是( )。(分数:2.00)A.a=2,b=1B.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.即时编译方式和解释执行方式解析:解析 该题考查考生对Java程序的执行方式的掌握。Java字节码的执行有两种方式:即时编译方式和解释执行方式。9.表达式-31555555值为( )。(分数:2.00)A.NULLB.-1C.3D.1024解析:解析 此题可采用排除法。由题目中的表达式,一定会得出一个有效整数,故选项A不对。由于第1个运算符是无符号右移运算符 ,故运算结果不可能为负数,选项B错误。而且,由于初始值最多会被右移31次,故不可能产生一个运算结果等于1024的数,选项D也错误。此题应选C。10.当使用对现存文件的引用创建FileOutputStxeam(filename,false)时,发生了什么事情? ( )(分数:2.00)A.引发异常B.写入到流中的数据将追加在现存文件之后C.将用写入到流中的数据替换现存文件D.文件不发生变化解析:解析 本题主要考查Java语言的I/O流的层次结构这个知识点。选项A错误,当文件为只读文件时会产生异常,但是这里没有说文件是只读文件,也就是说文件为可读可写的:选项B错误,文件输出流可以用FileOutputStream (fllename,false)构造函数来创建,用法和 FileInputStream(String)构造函数类似,所以可以和文件名称一起指定路径。当指定写入输出流的文件时,必须小心。如果它和现存文件一样,则当开始向流中写入数据时,将删除原来的文件。可以用FileOutputStream(string,true)构造函数创建文件输出流,它在现存文件的末尾追加数据。filename字符串指定了文件,而 Boolean参数应该等于true来追加数据,而不是覆盖任何现有的数据;选项C正确,用 FileOutputStream(nlename,false)构造函数创建文件输出流时很容易覆盖现存的文件;选项D错误,用FileOutputStream(filename,false)创建文件输出流时,如果是对现存文件的引用,将覆盖原来文件的内容,文件将发生变化。故本题答案是C。11.Swing中要响应动作事件必须实现ActionListener接口,而实现ActionListenrer接口必须实现的方法是 ( )。(分数:2.00)A.actionPerfonned()B.focusGained()C.actionMoved()D.focusLost()解析:解析 本题考查关于事件响应中ActionListener方法的基本知识。选项A正确, actionPerformed()方法是ActionListener接口中的唯一方法;选项B错误,focusGained()方法是FocusListener接口中的方法:选项C错误, ActionListener接口中没有actionMoved();选项D错误,focusGained()方法是FocusListener接口中的方法。故本题答案是A。12.下列关于J2EE的特点的说法中错误的是( )。(分数:2.00)A.J2EE的基础是J2SEB.J2EE提供高度的安全性支持C.支持事务处理和异步通信D.支持面向过程的Web开发解析:解析 J2EE支持高效率的基于构件的Web开发,构件是面向对象的,不是面向过程的。13.下列叙述正确的是( )。(分数:2.00)A.非空线性表可以有几个节点没有前件B.线性表的数据元素不可以由若干个数据项构成C.除根节点和终端节点,其他节点都有且只有一个前件,也有且只有一个后件D.线性表必须要有数据元素解析:解析 非空线性表有且只有一个节点没有前件,所以A是错误的。线性表的数据元素不一定是简单项,不可以由若干个数据项构成,所以B是错误的。线性表可以没有数据元素,称为空线性表,所以D是错误的。答案是C。14.下列属于Java编译命令的是( )。(分数:2.00)A.javacB.javaC.javadocD.appletviewer解析:解析 Java基本命令包括:javac、java、 javadoc、appletviewer、jar、jdb、javah、javap、 extcheck。其中iavac为Java语言的编译命令,其格式为:javac选项源文件名。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=1022D.n=8, s=1000解析:解析 本题考查对do-while循环的理解。本题完成的功能是求当20+21+22+.+2n最少需要多少项时才能满足大于数值m。 m=1000,当程序运行到第8次时,循环测试条件仍然为真,所以继续执行1次,当执行到第 9次时,s的值已经超过了1000。故本题答案是C。16.若给下面的方法传入参数67时,输出结果为( )。public int MaskOff(int N)return N3;(分数:2.00)A.3B.64C.67D.0解析:解析 本题考查对位运算符的掌握。 MaskOff)函数有一个参数N,该方法将传入的参数N与3进行异或运算之后的结果返回。符号“”用于将两个参与运算的数据进行按位求异或运算,如果两个操作数对应位相同,则该位的结果为0,否则结果为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,4D.3,2,1,4解析:解析 队列是指允许在一端进行插入,而在另一端进行删除的线性表。因此队列又称为先进先出的线性表。答案为C。18.用树形结构来表示实体之间联系的模型称为( )。(分数:2.00)A.关系模型B.层次模型C.网状模型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.下面哪个语句会产生编译错误? ( )(分数: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.在串行化类中实现部分串行化的两个方法为( )。(分数:2.00)A.writeExtemal()和readExtemal()B.writeObject()和readObject()C.Datalnput()和DataOutput()D.read()和write()解析:解析 对象串行化定义分为两个层次:部分定制串行化和完全定制串行化。在串行化类中定义两个方法实现部分串行化的定制,这两个方法是writeObject()和readObject()。22.当从现存类中派生出新类时,不能在派生类中做的是( )。(分数:2.00)A.增加新的成员变量B.增加新的成员方法C.重新定义已有的成员方法D.改变父类的数据成员或成员方法解析:解析 一个类可以继承其父类的所有成员变量和方法,还可以重新定义父类的成员方法,但不能改变父类的数据成员。故本题的答案是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语句和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和DBMSB.DBMS包括DB和DBSC.DB包括DBS 和DBMSD.DBS就是DB,也就是DBMS解析:解析 本题考查考生对数据库DB,数据库系统DBS,数据库管理系统DBMS 3者关系的理解。其中数据库系统是指数据库和数据库管理系统软件的合称。数据库管理系统是一个帮助用户创建和管理数据库的应用程序的集合。数据库是指存储在计算机内有结构的数据集合。25.下列关于Java变量作用域的说法中,不正确的是( )。(分数:2.00)A.在Java程序中要使用一个变量,必须先对其进行声明B.变量声明语句可以在程序的任何地方,只要在变量使用之前即可C.变量不可以在其作用域之外使用D.局部变量在使用之前可以不初始化,系统使用默认的初始值解析:解析 局部变量在使用之前必须初始化,否则编译错误,类的成员变量则不一定要在使用之前初始化,系统赋予其默认的初始值。26.若有说明ints34=0,则下面叙述正确的是( )。(分数:2.00)A.只有元素s00可得到初值0B.此说明语句不正确C.数组s中各个元素都可得到初值,但其值不一定为0D.数组s中每个元素均可得到初值0解析:解析 本题考查数组的定义和初始化。数组可在定义时初始化,初始化值的个数可以小于或等于数组定义的元素个数,但不可以多于数组元素个数。不足部分的数组元素系统自动以0填充。故本题答案是D。27.Java的线程调度采用的策略是( )。(分数:2.00)A.先到先服务B.先到后服务C.后到先服务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 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=200C.a=12 b=200a=100 b=45D.a=100 b=45a=12 b=200解析:解析 本题考查构造方法及构造方法重载。在上面的程序中,类Test类有两个构造方法,即使用了方法重载技术。不带参数的构造方法对类的实例变量进行特定数值的赋值,而带参数的构造方法根据参数对类的实例变量进行赋值。29.采用面向对象技术开发的应用系统的特点是( )。(分数:2.00)A.重用性更强B.运行速度更快C.占用存储量小D.维护更复杂解析:解析 面向对象方法具有很多其他方法不具备的特点,比如多态、继承等。这些特点都决定了面向对象方法支持软件复用。对象类可以派生出新类,类可以产生实例对象,从而实现厂对象类数据结构和操作代码的软构件复用。可重用性是面向对象思想的一个重要特征。30.关于Applet的生命周期,叙述正确的是( )。(分数:2.00)A.init()方法在start()方法之前执行B.init()方法在start()方法之后执行C.stop()在Applet退出时被调用,只调用1次D.stop()在Applet可见时被调用,可以被调用多次解析:解析 本题是考查Applet的生命周期。init()创建Applet时执行,只执行1次。当小应用程序第1次被支持Java的浏览器加载时,便执行该方法:start()多次执行,当浏览器从图标恢复成窗口,或者是返回该主页时执行。系统在调用完init()方法之后,将自动调用start()方法,而且,每当浏览器从图标恢复为窗口时,或者用户离开包含该小应用程序的主页后又再返回时,系统都会再执行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。而其他属性都是可选的。32.集合类容纳的对象可以是( )。(分数:2.00)A.BooleanB.byteC.ObjectD.char解析:解析 本题主要考查集合类的特点。选项 A错误,集合类容纳的对象都是Obiect类的实例。而boolean是一个基本类型,并不是一个对象:选项B错误,分析同上;选项C正确:选项D错误,分析同选项A。故本题答案是C。33.下列说法中,错误的是( )。(分数:2.00)A.事件源可以是一个构件B.事件在java语言中以类的形式出现C.事件处理者可以是一个构件D.事件处理者接收事件对象,然后做出相应的处理解析:解析 事件处理者不是一个构件,它可以叫做监听器,通常是一个类。当用户操作在事件源上触发了一个事件时,事件处理者就接收 Java运行时系统传递过来的事件对象,然后根据不同的事件做出相应的处理。34.在下列排序方法中,平均时间性能为O(nlog2n)且空间性能最好的是( )。(分数:2.00)A.快速排序B.堆排序C.归并排序D.基数排序解析:解析 堆排序先把序列看成一棵大根堆或小根堆,摘取最大或最小元素后再建成新的根堆,再排序。因此它的平均时间性能为O(nlog2n)且空间性能最好。35.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个字节。(分数:2.00)A.1B.2C.3D.4解析:解析 本题具体考查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趟冒泡排序后,关键字最小的记录达到最上端,接着,再在剩下的记录中找关键字最小的记录,并把它换在第2个位置上。依此类推,一直到所有记录都有序为止。根据这种思想,每趟的排序结果如下。初 始17,18,60,40,7,32,?3,65,85第一趟18,60,40,17,32,73,65,85,7第二趟60,40,18,32,73,65,85,17,7第三趟60,40,32,73,65,85,18,17,7第四趟60,40,73,65,85,32,18,17,7第五趟60,73,65,85,40,32,18,17,7第六趟73,65,85,60,40,32,18,17,7第七趟73,85,65,60,40,32,18,17,7第八趟85,73,65,60,40,32,18,17,737. 【2】 是按照程序语句行的自然顺序,依次执行语句。(分数:2.00)填空项1:_(正确答案:顺序执行)解析:解析 结构化程序设计语言仅仅使用顺序、选择和循环3种基本结构,其中顺序结构是最基本、最常用的结构,它采用顺序执行的结构,即按照程序语句行的自然顺序,依次执行语句。38.调试方法中的 【3】 最适合小规模程序的排错。(分数:2.00)填空项1:_(正确答案:回溯法)解析:解析 这种调试方法是从出现错误征兆处开始,人工沿控制流程往回追踪,直至发现出错的根源。这是在小程序中常用的一种有效的调试方法。程序变大后,可能的回溯路线显著增加,以致人工进行完全回溯到望而不可及。例如,程序中发现错误处是某个打印语句。通过输出值可推断程序在这一点上变量的值,再从这一点出发,回溯程序的执行过程,反复考虑“如果程序在这一点上的状态(变量的值)是这样,那么程序在上一点的状态一定是这样”,直到找到错误的位置。39.实体联系模型是一种常用的高级上 【4】 模型,而 【5】 是实体联系模型中的核心。(分数:2.00)填空项1:_(正确答案:概念数据 实体联系图(或E-R图))解析:解析 本题考核实体联系模型这个知识点。实体联系模型是一种常用的高级概念数据模型,而实体联系图(简称E-R图)是实体联系模型中的核心。由于E-R图描述的是数据流图中数据存储及其之间的关系,因此它是数据库概念设计的最常用的工具。40.若a=12,b=14,c=0,则表达式(y=(ab)?a:bc)?y:c的值为 【6】 。(分数:2.00)填空项1:_(正确答案:14)解析:解析 条件运算符是一种在两个表达式中选择一个的操作,它是C+中唯一的3元运算符。在本题中,先计算(ab)?a:b,因为ab,所以条件表达式的值为0,因此y=b=14,而yc的逻辑值为真,所以表达式的值为y的值,即 14。41.Java语言中 【7】 是所有类的根。(分数:2.00)填空项1:_(正确答案:Obiect)解析:解析 java.lang包封装所有编程应用的基本类,而Obiect是所有类的根类,它所包含的属性和方法被所有类继承。42.在对一个复杂表达式进行运算时,要按运算符的优先顺序从高到低进行,同级的运算符则按照 【8】 进行。(分数:2.00)填空项1:_(正确答案:在表达式中出现的位置从左到右的方向)解析:解析 本题考查运算符的优先级和结合性。在对一个复杂表达式进行运算时,要按运算符的优先顺序从高到低进行,同级的运算符则按照在表达式中出现的位置从左到右的方向进行。43.为了实现线程之间的通信,java.lang.Obiect提供了2个方法,即wait()和 【9】 。(分数:2.00)填空项1:_(正确答案:notify())解析:解析 wait()和notify()方法提供了线程之间同步和通信的机制。44.Java中的线程由CPU、 【10】 、数据等3部分构成。(分数:2.00)填空项1:_(正确答案:代码)解析:解析 Java中的线程由CPU、代码、数据3部分构成。45.Java中定义的对象流是 【11】 。(分数:2.00)填空项1:_(正确答案:ObjectInputStream和ObiectOutputStream)解析:解析 Java语言定义了两个字节流,即ObiectInputStream和ObiectOutputStream,用于对象的读写操作,一般称做对象流。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()super(ButtonFrame);setSize (100,150);setDefaultClose

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论