1、计算机二级考试JAVA基础试题计算机二级考试JAVA基础试题一1.一个栈的初始状态为空。现将元素l、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA2.下列叙述中正确的是()。A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的3.在长度为z的有序线性表中进行二分查找,最坏情
2、况下需要比较的次数是()。A.O(n)B.O(n2)C.O(log2n)D.O(nlog2n)4.下列叙述中正确的是()。A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间5.数据流图中带有箭头的线段表示的是()。A.控制流B.事件驱动C.模块调用D.数据流6.在软件开发中,需求分析阶段可以使用的工具是()。A.N-S图B.DFD图C.PAD图D.程序流程图7.在面向对象方法中,不属于“对象”基本特点的是()。A.一
3、致性B.分类性C.多态性D.标识唯一性;8.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。A.一对一B.一对多C.多对一D.多对多9.在数据管理技术发展的三个阶段中,数据共享最好,的是()。A.人工管理阶段B.文件系统阶段。C.数据库系统阶段D.3个阶段相同10.类Panel默认的布局管理器是()。A.GridLayoutB.BorderLayoutC.FlowLayoutD.CardLayout参考答案1.B。【解析】栈是按照“先进后出”或“后进先出”的原则组织数据的,所以出栈顺序是EDCBA54321。2.D。【解析】循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动
4、态变化也是通过队头指针和队尾指针来反映的。3.C。【解析】对于长度为n的有序线性表,在最坏情况下,二分法查找只需比较log2n次,而顺序查找需要比较n次。4.A。【解析】顺序存储方式主要用于线性数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。链式存储结构的存储空间不一定是连续的。5.D。【解析】数据流图是从数据传递和加工的角度,来描述数据流从输入到输出的移动变换过程。其中带箭头的线段表示数据流,数据沿箭头方向传递,一般在旁边标注数据流名。6.B。【解析】在软件开发中,需求分析阶段常使用的工具有数据流图(DFD)、数据字典(DD)、判断树
5、和判断表。7.A。【解析】对象具有如下特征:标识唯一性、分类性、多态性、封装性和模块独立性。8.B。【解析】两个实体集间的联系可以有一对一的联系、一对多或多对一联系、多对多联系。由于一个宿舍可以住多个学生,所以它们的联系是一对多联系。9.C。【解析】数据管理技术的发展经历了3个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。人工管理阶段无共享,冗余度大;文件管理阶段共享性差,冗余度大;数据库系统管理阶段共享性大,冗余度小。10.C。【解析】本题考查Java中的布局管理器。FlowLayout是Pane和Applet默认的布局管理器,构件在容器中从上到下、从左到右进行放置,所以选项C为正确答案
6、。BorderLayout是Window、Frame和Dialog的默认布局管理器,在BorderLayout布局管理器中构件分成5个区域,每个区域只能放置一个构件。GridLayout使容器中各个构件呈网状布局,平均占据容器的空间。GardLayout把容器分成许多层,每层只能放置一个构件。二单选题1.下列选项中属于Java语言的垃圾回收机制的一项是()。A.语法检查B.堆栈溢出检查C.跨平台D.内存跟踪2.使用如下()保留字可以使只有在定义该类的包中的其他类才能访问该类。A.abstractB.priVateC.protectedD.不使用保留字3.下列命令中,是Java编译命令的是()o
7、A.javac.jaVaC.javadocD.appletviewer4.下面(.)是合法的标识符。A.$personsB.2UsersC.*pointD.this5.下列表达式中正确的是()。A.5+B.(a+b)+C.+(a+b)D.+x6.在Java中,所有类的根类是()。A.java.lang.ObjectB.java.lang.ClassC.java.applet.AppletD.java.awt.Frame7.在Java中,用package语句说明一个包时,该包的层次结构必须是()。A.与文件的结构相同B.与文件目录的层次相同C.与文件类型相同D.与文件大小相同8.在读字符文件Em
8、ployee.dat时,使用该文件作为参数的类是()。A.BufferedReaderB.DatalnputStreamC.DataOutputStreamD.FileInputStream9.下列构造方法的调用方式中,正确的是()。A.按照一般方法调用B.由用户直接调用C.只能通过new自动调用D.被系统调用参考答案1.D。【解析】本题考查Java语言的垃圾回收机制。语法检查是编译器的一项工作,不属于垃圾回收,选项A错误;堆栈溢出在解释执行时进行检查,选项B错误;跨平台是Java语言的一个特点,不属于垃圾回收机制,选项C错误;为了充分利用资源,Java语言提供了一个系统级的线程,用于监控内存
9、,在必要时对不再使用的某些内存进行回收,这就是垃圾回收机制。2.D。【解析】本题考查类的修饰符。类的默认访问控制策略是不使用保留字来定义类,这会限制其他包中的类访问该类,该类只能被同一个包的类访问和引用,也不能用import语句引用,选项D正确。protected保留字不起作用,具有protected成员的类的子类可以在包外访问这些被保护的成员。abstract修饰符修饰的类被称为抽象类,没有具体对象的概念类,不满足题意。private修饰符修饰的类只能被该类自身访问和修改,而不能被任何其他类获取和引用,不满足题意。可见本题正确答案为选项D。3.A。【解析】本题考查Java中JDK工具。jav
10、ac是Java的编译命令,能将源代码编译成字节码,以.ClaSS扩展名存入Java工作目录中。Java是Java解释器,执行字节码程序,该程序是类名所指的类,必须是一个完整定义的名字。javadoc是Java文档生成器,对Java源文件和包以XML格式生成API文档。appletviewer是JavaApplet浏览器。4.A。【解析】本题考查Java标识符的命名,属于考试重点内容,应该掌握。Java中标识符的命名规则是:标识符以字母、下画线或美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。由此可见,Java中标识符不能以数字开头,所以选项B错误;不能以“*”开头,
11、选项C错误;this是专用标识符,具有专门的意义和用途,选项D错误,只有选项A正确。5.D。【解析】本题考查Java中的运算符。“+”和“-”都是一元算术运算符,主要用于自加和自减,在Java中不允许对表达式进行这样的运算,选项B和选项C都是错误的,更不允许对数字进行这样的运算,选项A也错误,只有选项D正确。6.A。【解析】本题考查考生对Java类的掌握。在Java中java.lang包封装着所有编程应用的基本类。Object是所有类的根,它所包含的属性和方法被所有类集成。Class类是由编译器自动生成对象的一个特殊类,它伴随每个类。选项C和选项D都是普通类。7.B。【解析】本题考查Java包
12、的概念。Java采用包来管理类名空问,为编程提供一种命名机制,也是一种可见性限制机制。定义一个包要用package关键字,用package语句说明一个包时,该包的层次结构必须与文件目录的层次相同。否则,在编译时可能出现查找不到的问题,所以选项B正确。8.D。【解析】本题考查java.io包中的字符输入流。Java的输入输出包括字节流、文件流和对象流等,要注意区分不同流使用的不同类。字符类输入流都是抽象类InputStreamReader及其子类FileReader、BufferedReader等。选项A中BufferedReader是把缓冲技术用于字符输入流,提高了字符传送的效率,但它不能处理
13、文件流。选项B中DataInputStream类是用来处理字节流的,实现了Datalnput接口,不能处理文件流。选项C中DataOutputStream类实现了DataOutput接口,不能处理文件流。选项D中FileInputStream可对一个磁盘文件涉及的数据进行处理,满足题目要求。9.C。【解析】本题考查Java中的构造方法。构造方法在Java中占有非常重要的地位,务必掌握。构造方法是类中的一种特殊方法,是为对象初始化操作编写的方法,用来定义对象的初始状态。构造方法不能被程序调用,构造方法名必须与类名相同,没有返回值,用户不能直接调用,只能通过new自动调用,所以选项C正确。三单选题
14、1.下面排序算法中,平均排序速度最快的是()。A.冒泡排序法B.选择排序法C.交换排序法D.堆排序法2.软件需求分析一般应确定的是用户对软件的()。A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求3.下列说法中,不属于数据模型所描述的内容是()。A.数据结构B.数据操作C.数据查询D.数据约束4.下列描述中,不是线性表顺序存储结构特征的是()A.不便于插入和删除B.需要连续的存储空间C.可随机访问D.需另外开辟空间来保存元素之间的关系5.使用白盒测试法时,确定测试数据应该根据()和指定的覆盖标准。A.程序的内部逻辑B.程序的复杂结构C.使用说明书D.程序的功能6.关系数据库管理系
15、统能实现的专门关系运算包括()。A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表7.将E-R图转换到关系模式时,实体与实体间的联系可以表示成()。A.属性B.关系C.键D.域8.下列有关数组的叙述中,错误的是()。A.在同一个环境下,数组与内存变量可以同名,两者互不影响B.可以用一维数组的形式访问二维数组C.在可以使用简单内存变量的地方都可以使用数组元素D.一个数组中各元素的数据类型可以相同,也可以不同9.下列选项中,不属于模块间耦合的是()。A.数据耦合B.标记耦合C.异构耦合D.公共耦合参考答案1.D。【解析】在各种排序方法中,快速排序法和堆排序法的平均速度
16、是最快的,因为它们的时间复杂度都是O(nlog2n),其他的排序算法的时间复杂度大都是O(n2)。2.D。【解析】软件需求分析中需要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,使用户明确自己的任务。因此,需求分析应确定用户对软件的功能需求和非功能需求。3.C。【解析】数据模型所描述的内容包括三个部分,它们是数据结构、数据操作和数据约束。其中,数据结构主要描述数据的类型、内容、性质及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式;数据约束主要描述数据结构内数据间的语法和语义联系,它们之间的制约与依存关系,以及数据的动态变化的规则,用以保证数据的正确、有效
17、与相容。4.D。【解析】线性表特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此不需要另外开辟空间来保存元素之间的关系。5.A。【解析】白盒测试是把测试对象看做一个打开的盒子,允许测试人员利用程序内部的逻辑结构及相关信患来设计或选择测试用例,对程序所有的逻辑路径进行测试。6.B。【解析】关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。7.B。【解析】将E-R图转换成指定DBMS中的关系模式是数据库逻辑设计的主要工作。从E-R图到关系模式的转换是比较直接的,实体和联系都可以表示成关系。8.A。【解析】整个数组的数据类型为
18、A(Array),而各个数组元素可以分别存放不同类型的数据。在使用数组和数组元素时,应注意如下问题。在任何能使用简单内存变量的地方都可以使用数组元素。在同一个环境下,数组名不能与简单变量名重复。可以用一维数组的形式访问二维数组。9.C。【解析】模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。按照耦合程度从弱到强,可以将其分成7级,分别是非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。其中没有异构耦合这种方式。四单选题1.在Java中,负责对字节代码解释执行的是()。A.垃圾回收器B.虚拟机C.编译器D.多线程机制2.下列叙述中,正确的是()。A.Ja
19、va语言的标识符是区分大小写的B.源文件名与public类名可以不相同C.源文件的扩展名为.jarD.源文件中public类的数目不限3.下列属于合法的Java标识符的是()。A._catB.5booksC.+staticD.-3.141594.在Java中,表示换行符的转义字符是()。A.nB.fC.nD.ddd5.在Java中,由Java编译器自动导入而无需在程序中用import导人的包是()。A.java.appletB.java.awtC.java.utilD.java.lang6.“+”运算符的操作数个数是()。A.1个B.2个C.3个D.4个7.在switch(expression
20、)语句中,expression的数据类型不能是()。A.doubleB.charC.byteD.short8.下列叙述中,错误的是()。A.父类不能替代子类B.子类能够替代父类C.子类继承父类D.父类包含子类9.已知:inta=newint100;在下列给出的数组元素中,非法的是()。A.a0B.a1C.a99D.a10010.在文件类提供的方法中,用于创建目录的方法是()。A.mkdir()B.mkdirs()C.list()D.listRoots()参考答案1.B。【解析】本题考查Java语言的虚拟机。Java语言的执行模式是半编译半解释型。Java编写好的程序首先由编译器转换为标准字节代
21、码,然后由Java虚拟机去解释执行。字节代码是一种二进制文件,但不能直接在操作系统上运行,可看做虚拟机的机器码。虚拟机把字节码程序与各操作系统和硬件分开,使Java程序独立于平台。Java中的虚拟机是非常重要的概念,是Java语言的基础,掌握后有助于理解Java语言的实现。2.A。【解析】本题考查考生对Java语言概念的理解。这些属于考试重点内容。Java语言和C语言不同,它是区分大小写的,选项A正确。Java程序的源文件扩展名为.class,.jar文件是由归档工具jar生成的。源文件中的public类的数目只能有0个或l个,用来指定应用程序类名,也是源文件名。3.A。【解析】本题考查Jav
22、a标识符的命名规则,是考试的重点内容。Java中标识符的命名规则是标识符以字母、下画线或美元符作为首字符的字符串序列,;标识符是区分大小写的;标识符的字符数没有限制。留此可见,Java中标识符不能以数字开头,所以选项B错误,不能以“+”开头,选项C错误,不能以“-”开头,选项D错误,只有选项是正确答案。4.A。【解析】本题考查Java转义符的概念。在Java中用反斜杠()开头,n表示换行,所以选项A正确。f表示走纸换页,kddd表示l3位的八进制数据ddd所代表的字符。5.D。【解析】本题考查Java中包的概念。Java中用import语句来导入包,但需注意的是,Java语言中的java.la
23、ng包是由编译器直接自动导入的,因此,编程时使用该包中的类,可省去import导入。使用其他包中的类,必须用import导入,选项D为正确答案。6.A。【解析】本题考查Java运算符的概念。程序涉及的数据处理,都是通过运算符和表达式来操作,是程序设计的基础,因此务必掌握。按照操作数的数目划分,运算符可以分为一元运算符:+,-,+,-;二元运算符:+,-,;三元运算符:?:。所以本题正确答案是选项A。简单地说,就是有几个操作数就是几元运算符;反过来,是几元运算符就有几个操作数。7.A。【解析】本题考查考生对switch(expression)语句的理解。表达式expression只能返回int、
24、byte、short和char,题目中的double是不正确的。同时还要注意,多分支结构中,case子句的值必须是常量,而且所有case子句中的值应是不同的,default子句是任选的。8.D。【解析】本题考查继承的概念。继承性是面向对象方法的一个重要基本特征,它使代码可重用,可降低程序的复杂性。对一个类的继承也就是构建了一个子类,子类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。重点掌握两点:子类方法的访问权限比父类的访问权限高,因此父类不能替代子类,但子类能够代替父类,选项A和选项B说法正确;子类方法不能产生比父类更多的异常。选项D为正确答案。9.D。【解析】本题考查Jav
25、a中数组的概念。对于数组的掌握,不能仅仅停留在概念上,更多的是能将所学的知识灵活运用。inta=newint100定义了一个数组a,含有100个整型元素。在Java中,数组元素的下标是从。开始的,因此上面定义的数组实际上下标是099,所以选项D错误。10.A。【解析】本题考查文件类提供的方法。mkdir()是为目录操作提供酌方法,用来创建目录;mkdirs()也是为目录操作提供的方法,创建包含父目录的目录;list()是对文件名操作提供的方法,返回一个字符串数组,为该文件所在目录下的所有文件名列表;listRoots是为目录提供的方法,返回根目录结构。由此可见,只有选项A满足题目要求。五单选题
26、1.下列程序的执行结果为()。publicclassc3publicstaticvoidmain(Stringargs)inti=13,j=10;if(i-j)i+:elsej-;System.out.println(i+t+j);A.1310B.1211C.1111D.12122.下列程序的输出结果是()。publicclassTestvoidprintValue(intm)doSystem.out.println(Thevalueis+m)while(-m10)publicstaticvoidmain(Stringargs)inti=10;Testt=newTest():t.printVa
27、lue(i):A.Thevalueis8B.Thevalueis9C.Thevalueisl0D.Thevalueis113.for(intx=0,y=0;!x&y=5;y+)语句执行循环的次数是()。A.0B.5C.6D.无穷4.下列描述异常含义的各选项中,正确的是()。A.程序编译错误B.程序语法错误C.程序自定义的异常事件D.程序编译或运行时发生的异常事件5.一个JavaApplication运行后,在系统中是作为一个()。A.线程B.进程C.进程或线程D.不确定6.Thread类的方法中用于修改线程名字的方法是()。A.setName()B.reviseName()C.getName(
28、)D.checkAccess()7.在创建线程时可以显式地指定线程组,此时可供选择的线程构造方法有()种。A.1B.2C.3D.48.要串行化某些类的对象,这些类必须实现()。A.Serializable接口B.java.i0.Exceptionlizable接口C.java.i0.Datalnput接口D.DataOutput接口9.关于集合类描述正确的是()。.集合类中容纳的都是指向Object类对象的指针.集合类容纳的对象都是Object的类例.只能容纳对象IV.只能容纳基本数据类型A.、B.、C.、D.、IV10.下列组件不能添加进Frame主窗口的是()。A.PanelB.CheckBoxC.DialogD.Choice参考答案1.A。【解析】程序是由if-else语句构成的流程,分析判断条件,变量i和j比较,得到条件表达式的值为true,然后执行i-1,现在变量i的值为12,而j的值为10;由于条件表达式为true,则执行i+,因此i的值为13,并跳过else子句块,循环控制语句执行完毕,这时变量i和i的值分别为13和10。2.C。【解析】此题考查的是do-while循环和“-”操作符的知识。do-while最少执行一次,在执行完d0中的内容后
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1