1、全国计算机等级考试二级Java语言程序设计试题及答案一一、选择题(每题1分,共40小题,共40分) 1以下表达中正确的选项是( )。 A一个算法的空间复杂度大,那么其时间复杂度必定大 B一个算法的空间复杂度大,那么其时间复杂度必定小 C一个算法的时间复杂度大,那么其空间复杂度必定小 D上述3种说法都不对 D。【解析】算法的时间复杂度和空间复杂度是从不同的角度来衡量算法的执行情况的,它们之间没有内在联系。 2开发软件时对提高开发人职工作效率至关重要的是( )。 A操作系统的资源管理功能 B先进的软件开发工具和环境 C程序员的数量 D计算机的并行处理能力 B。【解析】先进的软件开发工具和环境对提高
2、开发人职工作效率是至关重要的。3程序设计语言的根本成分是数据成分、运算成分、控制成分和( )。 A对象成分 B变量成分 C语句成分 D传输成分 D。【解析】程序设计语言的根本成分有:数据成分,用于描述程序所涉及的数据;运算成分,用于描述程序中所包含的运算;控制成分,用于描述程序中所包含的控制;传输成分,用于表达程序中数据的传输。4对长度为n的线性表进行顺序查找,在最坏情况下需要比拟的次数为( )。 A125 Bn2 Cn Dn+l C。【解析】对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比拟,直到两者相符,查找到所要找的元素为止。在最坏情况 下,要查找的
3、元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比拟,因此比拟次数为n。5有以下二叉树,对此二叉树前序遍历的结果为( )。 AXZCYAB BXYZABC CXYABCZ DXYAZBC D。【解析】对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。6以下表达中正确的选项是( )。 A在面向对象的程序设计中,各个对象之间具有密切的关系 B在面向对象的程序设计中,各个对象都是公用的 C在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小 D上述3种说法都不对 C。【解析】面向
4、对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系。 7软件工程的理论和技术性研究的内容主要包括软件开发技术和( )。 A消除软件危机 B软件工程管理 C程序设计自动化 D实现软件可重用 B。【解析】基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括软件开发技术和软件工程管理。8在对象方法中,一个对象请求另一个对象为其效劳的方式是通过发送( )。 A调用语句 B命令 CH令 D消息 D。【解析】在面向对象方法中,对象之间通过消息进行通信。消息中只包含传递者的要求,但并不指示接受者应该怎么完成这些处理。9以下选项中,是软件调试
5、技术的是( )。 A错误推断 B集成测试 C回溯法 D边界值分析 C。【解析】软件调试技术包括强行排错法、回溯法和原因排除法。边界值分析、错误推断都是黑盒测试的方法。 10数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。 ADB包括DBS和DBMS BDBMS包括DB和DBS CDBS包括DB和DBMS D没有任何关系C。【解析】数据库系统(DBS)由数据库(DB)、数据库管理系统(DBMS)、数据库管理员、硬件平台和软件平台5个局部组成,因此DB和DBMS都是DBS的组成局部。11以下( )不是高级程序设计语言。 AFORTRAN BJava CC+ DVisual
6、ASM D。【解析】高级语言是一类人工设计的语言,因为它对具体的算法进行了描述,所以又称为算法语言。它是面向程序设计独立于计算机的硬件。目前,计算机常用的高级语言有:BASIC语言、FORTRAN语言、COBOL语言、PASCAL语言、C语言、PROLOG语言、而当前流行的,面向对象的程序设计语言有C+和用于网络环境的程序设计语言Java等。1216根地址总线的寻址范围是( )。 A531KB B64KB C640KB D1MB B。【解析】假设地址总线有n条,内存的寻址范围是2n。13在一所大学中,每个系都有自己的局域网,那么连接各个系的校园网( )。 A是广域网 B还是局域网 C是地区网
7、D这些局域网不能互连 B。【解析】广域网是指远距离的计算机互联网络,分布范围可达几千千米乃至上万千米甚至跨越国界、州界、普及全球范围。局域网是指一个局部区域中的、近距离的计算机互联网络,通常采用有线方式连接,分布范围从几百米到几千米。例如,一座大楼内或相邻的几座楼之间的互联网络。一个单位、学校内部的网络多为局域网。14以下关于信息加密的表达中,正确的选项是( )。 A加密通过加密算法实现 B加密前的文件称为密文 C加密后的文件称为明文 D将明文变为密文的过程称为解密 A。【解析】一般人们将加密前的文件称为明文,而加密后的文件称为密文,因此加密的目的就是将明文变为密文。而反过来将密文变为明文的过
8、程那么称为解密。15以下关于域名和IP地址的表达中,不正确的选项是( )。 A在Internet中访问一台主机必须使用它的主机名 B200201202203是一个C类I P地址 CI P地址采用的是分层结构 D主机名与I P地址是一一对应的 A。【解析】每台直接连接到Internet上的计算机、路由器都必须有唯一的IP地址。IP地址是Internet赖以工作的根底。Internet中的计算机与路由器的IP地址采用分层结构,它是由网络地址与主机地址两局部组成。对于C类地址,其网络地址空间长度为21位,主机地址空间长度为8位,C类I P地址范围从:l92000223255255255。主机名与它的
9、IP地址一一对应,因此在Internet上访问一台主机既可以使用它的主机名,也可以使用它的I P地址。 16Java语言中。负责并发管理的机制是( )。 A垃圾回收 B虚拟机 C代码平安 D多线程 D。【解析】多线程是Java程序的并发机制,它能同步共享数据、处理不同的事件。 17以下描述中,错误的选项是( )。 AJava要求编程者管理内存 BJava的平安性表达在多个层次上 CApplet要求在支持Java的浏览器上运行 DJava有多线程机制 A。【解析】为了充分利用资源,Java有一个系统级的线程,用来对内存的使用进行跟踪,它可以在系统空闲时对不用的内存空间进行回收,从而使程序员从繁忙
10、的内存管理中解放出来。18Java为移动设备提供的平台是( )。 AJ2ME BJ2SE CJ2EE DJDK 50 A。【解析】Java 2平台包括:J2ME平台、J2SE平台和J2EE平台。其中:J2ME是为嵌入式和移动设备提供的Java平台;J2SE是面向企业级应用与效劳的综合性标准开发平台;J2EE是面向大型企业级用容器管理专用构件的应用平台。而JDK 50是一个Java开发软件包。19JDK中提供的文档生成器是( )。 Ajavadocexe Bjavapexe Cjavaexe Djavaprofexe A。【解析】在JDK中:javadocexe是文档生成器,将Java源代码和包
11、以MML格式生成AP文档;javaexe是Java解释器;javapexe是Java反汇编器;javaprofexe是Java剖析工具,提供解释器剖析信息。20以下不属于Swing中构件的是( )。 AJPanel BJTable CMenu DJFrame C。【解析JPanel是Swing的中间容器;JTable是Swing中可编辑信息的构件;JFrame是Swing的顶层容器。21阅读下面程序 importjavaio*; public class TypeTransition public static void main(String args) char a=h; int i=10
12、0 ; int J=97; int aa=a+i; Systemoutprintln(aa=+aa); char bb=(char)j; Systemoutprintln(bb=+bb): 如果输出结果的第二行为bb=a,那么第一行的输出结果是( )。 Aaa=I Baa=204 Caa=v Daa=156B。【解析】此题考查的是Java的根本数据类型及其运算。程序开始生成了一个字符型变量a和3个整型变量i、j、aa。而整型变量aa的初始值是a+i,其中a是一个字符 型变量。如何进行加法运算呢?Java语言规定,char型数据可以自动转换成int类型,转换的结果就是该字符的ASCIl码值。因此
13、,整型变量aa的初始值为字符h的ASCIl码值加上l00。如果记住h的ASCIl码值是104,那么直接就确定aa的初始值是204,选项B为正确答案。如果记不得h的ASCIl码,题目中那么给出提示。题目中说输出结果的第二行为bb=a,也就是字符bb的值为字符a,bb的生成语句是char bb=(char)j,是把整型变量j的值强制转换为字符型。同样,把ASCIl码值为j(97)所对应的字符赋值给bb。显然,字符a的ASCIl码值为97,字符b的ASCIl码值为98,依次类推,字符h的ASCIl码为l04。因此,此题的正确答案是B。 22阅读下面程序 public class Operators
14、And Expressions( void equals Methodl() Stringsl一new String(how are you); Strings2=new String(how are you); Systemoutprintln(s1= =s2): public static void main(String args) Operators And Expressions Oper And Exp=new Oper- ators And Expressions (); 用于复合类型数据的= =运算符 OperAndExpequalsMethodl(); 程序运行结果是( )。
15、 A= = Btrue Cfalse Dequal C。【解析】此题考查的是Java语言中运算符的特殊用法。相等比拟运算符= =,不仅可用于根本类型的数据之间的比拟,还可以用于复合类型数据之间的比拟。但是,对于复合类型数据的= =运算,其比拟的目标是两个操作数是否是同一个对象。如果需要比拟两个对象的值是否相同,那么可以调用equals()方法。题目中函数equalsMethodl()的代码非常简单,首先生成两个字符串对象sl和s2,然后输出表达式sl= =s2的结果。根据上面介绍的相等比拟运算符的用法,字符串对象sl和s2是复合类型数据,因此表达式sl= =s2比拟的是sl和s2是否同一个对象
16、。显然,sl和s2虽然具有相同的值,即how are you,但它们是两个不同的对象。因此,此题的正确答案是C。23阅读下面代码 if(x= =0)Systemoutprintln(冠军);) elseif(x一3)SystemOutprintln(亚军); elseSystemoutprintln(季军); 假设要求打印字符串季军,那么变量X的取值范围是( )。 Ax=d&xO Cx-3 Dx-3的结果为真,输出亚军;当x的值不等于0且不大干-3,也就是X的值不等于0同时x的值小于等于-3时,那么输出季军。经过上述分析可知,要想输出季军,x所满足的条件为x!=O&x=-3,但是当x=-3时,
17、x的值一定不会为0。所以,X所满足的条件可以简写为x=-3。因此,此题的正确答案为D。 24以下关于构造方法的表达中,错误的选项是( )。 AJava语言规定构造方法名与类名必须相同 BJava语言规定构造方法没有返回值,但不用void声明 CJava语言规定构造方法不可以重载 DJava语言规定构造方法只能通过new自动调用 C。【解析】此题考查的是构造方法的使用。Java语言中,构造方法是一种特殊的方法,是为对象初始化操作编写的方法,用它来定义对象的初始状态。Java中的每个类都有构造方法,它也是由方法名、参数和方法体组成的。构造方法有如下特点: 构造方法的名字必须与类名相同。 构造方法不
18、返回任何数据,但不用void来声明。 用户不能直接调用构造方法,必须通过关键字new自动调用。 构造方法可由用户在类中定义,默认时由Java语言自动生成。但它是个空方法,变量被赋予该数据类型的默认值。 在构造方法实现中,可以进行方法重载,即定义多个构造方法。重载构造方法的目的是使类具有不同的初始值,为类对象的初始化提供方便。根据上述构造方法的特点可知,此题选项C的说法是错误的。 25以下适配器类中不属于事件适配器的是( )。 AMouseAdapter BKeyAdapter CComponentAdapter DFrameAdapter D。【解析】此题考查javaawtevent包中定义的
19、适配器类。该包中定义的适配器类包括ComponentAdapter构件适配器;ContainerAdapter容器适配器;FocusAdapter焦点适配器;MouseAdapter鼠标适配器;KeyAdapter键盘适配器WindowAdapter窗口适配器,由此可知此题答案为D。26以下类中属于字节输入抽象类的是( )。 AFileInputStream BObjectInputStream CFiterInputStream DInputStream D。【解析】在Java中定义了两种类型的流,字节型和字符型,这两种流分别用4个抽象类表示:InputStream,OutputStream
20、,Reader,Writer,其中InptutStream和OutStream表示字节流,Reader和Reader是表示字符流,所以字节输入抽象类为InptutStream。27能向内部直接写入数据的流是( )。 AFileOutputStream BFileInputStream CByteArrayOutputStream DByteArraylnputStream C。【解析】此题考查Java的内存读写。在javaio中,还提供了 ByteArrayInputStream、ByteArrayoutputStream和StringBufferInputStream类可直接访问内存,它们是
21、InputStream和OutputStream的子类。用ByteArrayOutputStream可向字节数组写入数据;ByteArrayInputStream可从字节数组中读取数据。28以下运算符中属于关系运算符的是( )。 A= = B= C+ = D- = A。【解析】此题考查Java的关系运算符。B中写法不正确,C、D均为赋值运算符。29以下方法中,声明抛出InterruptedException类型异常的方法是( )。 Asuspend() Bresume() Csleep() Dstart() C。【解析】此题考查线程的根本操作。Java中提供了interrupt方法用来中断一个
22、线程,当调用一个线程的interrupt方法时,即向该线程发送一个中断请求。在调用线程的interrupt方法时,如果该线程由于调用了sleep方法或wait方法而正在处于阻塞状态,那么线程会抛出一个InterruptException异常。 30以下关于System类的表达中,错误的选项是( )。 ASystem类是一个final类 BSystem类不能实例化 CSystem类中没有定义属性 DSystem类主要提供了系统环境参数的访问 C。【解析】此题考查System类的根本知识。Systern类是一个final类,所有的方法都用类变量来调用,对System类不可能实例化。System类主
23、要用来提供标准输入输出和系统环境信息的访问设置。而System类的属性有:public static final InputStream in;标准输入;publicstatic final OutputStream out;标准输出;pubhc static finalPrintStream err;标准错误输出。31阅读下面程序 public class Increment public static void main(stringargs) int C; c=5: Systemoutprintln(c); Systemoutprintln(c+): Systemoutprintln(c
24、); 程序运行结果是( )。 A5 6 6 B5 5 6 C6 7 7 D6 6 6 B。【解析】此题考查的是Java增量运算符+。 x+是先使用后加l,即首先使用X的值进行表达式的计算,然后才对x的值加1。而+x是先加1后使用,即首先对x的值加1,然后使用x的值进行表达式的计算。此题首先生成一个整型变量C,其初始值为5。第一条输出语句输出c的初始值,即5。然后,第二条输出表达式c+的结果,即先输出C的值,然后才对c的值加1,所以,第二条输出语句输出的是5,输出后c的结果才为6。最后一条输出语句输出结果为6。因此,此题的正确答案为B。32以下表达中,错误的选项是( )。 AJavaApplic
25、ation与Applet所用编译命令相同 B通常情况下JavaApplication只能有一个main()方法 CJavaApplet必须有HTML文件才能运行 DJavaApplet程序的class文件可用Java命令运行 D。【解析】此题考查的是Java中的Applet以及Applet与Application的区别。Applet是能够嵌入HTML语言中,并能够在浏览器中运行的类。Applet的运行环境是Web浏览器,所以必须建立HTML文件,告诉浏览器如何加载与运行Applet。因为Applet是不能直接通过Java命令行启动运行的。所以选项D的说法错误。 33以下关于Java语言中线程的
26、表达中,正确的选项是( )。 A线程由代码、数据、内核状态和一组存放器组成 B线程间的数据是不共享的 C用户只能通过创立Thread类的实例或者定义和创立Thread子类的实例,建立和控制自己的线程 D因多线程并发执行而引起的执行顺序的不确定性可能造成执行结果的不确定 D。【解析】此题考查线程的根本知识。线程与进程在概念上是相关的,线程是由表示程序运行状态的存放器、程序计数器、栈指针以及堆栈组成,它不包含进程地址空间中的代码和数据。代码所操作的数据是Java线程模型中的一个组成局部,数据与代码是独立的。数 据可以被多个线程共享,也可不共享。Java语言中提供两种创立线程的方法,一种是通过继承T
27、hread类创立线程,另一种是通过实现Runnable接口来创立线程。34处理对象传输的接口是( )。 ASerializable BC:loneable ChemListener DActionListener A。【解析】处理对象传输就是把对象串行化。Java语言中,如果要串行化某些类的对象,这些类就必须实现Serializable接口。35在读取二进制数据文件的记录时,为了提高效率常 常使用的一种辅助类是( )。 AInputStream BFileInputStream CStringBuffer DBufferedReader C。【解析】此题考查Java语言的输入输出流。InputStream类、FilelnputStream类和BufferedReader类都是Java语言中和输入输出直接相关的类,不属于辅助类,因此可以直接判断出选项C为正确答案。 36在Applet中显示文字、图形等信息时,应使用的方法是( )。 Ainit() Bstart() Cpaint() Ddestroy() C。【解析】paint()是与Applet显示相
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1