国家二级(JAVA)笔试模拟试卷15(共444题)_第1页
国家二级(JAVA)笔试模拟试卷15(共444题)_第2页
国家二级(JAVA)笔试模拟试卷15(共444题)_第3页
国家二级(JAVA)笔试模拟试卷15(共444题)_第4页
国家二级(JAVA)笔试模拟试卷15(共444题)_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

家二级(JAVA)笔试模拟试卷15(共

9套)

(共444题)

家二级(JAVA)笔试模拟试卷第1套

一、公共基础选择题(本题共10题,每题7.0分,共

10分。)

1、算法的时间复杂度是指

A、执行算法程序所需要的时间

B、算法程序的长度

C、算法程序中的指令条数

D、算法执行过程中所需要的基本运算次数

标准答案:A

知识点解析:算法的时间复杂度实际上就是执行算法程序所需要的计算工作量。为

了客观地反映算法性能,在度量算法的时间复杂度时,应该与编写算法程序所使用

的程序设计语言、执行算法程序时所使用的计算工具以及程序员的水平无关。选

项A错误,因为同一算法程序在运行速度不同的计算机上运行时,其计算时间是

不同的。选项B错误。因为算法所编写的程序长度往往与程序设计语言以及程序

员的水平有关,同一个算法,用不同的程序设计语言或者不同的程序员所编写出的

程序其长度可能会大不相同。选项C错误,因为根据一个算法所编制出的程序程

序中,其指令条数往往与程序设计语言以及程序员的水平有关,不能用算法程序中

的指令条数来度量算法的时间复杂度。所以,本题的正确答案为D。

2、设栈S的初始状态为空。元素a,b,c,d,e,f依次通过栈S,若出栈的顺序

为b,d,c,f,e,a,则栈S的容量至少应该为

A、3

B、4

C、5

D、6

标准答案:A

知识点解析:根据题中给定的条件,可以作如下的模拟操作:①元素a,b进栈,

栈中有2个元素,分别为a,b;②元素b出栈后,元素c,d进栈,栈中有3个元

素,分别为a,c,d;③元素d,c出栈后,元素e,f进栈,栈中有3个元素,分

别为a,e,f;④最后,元素f,e,a出栈,栈为空。可以看出,进栈的顺序为

a,b,c,d,e,f,出校的顺序为b,d,c,f,e,a,满足题目要求。每次进栈操

作后,栈中最多有3个元素,所以,为了顺利完成这些操作,栈的容量应至少为

3。本题的正确答案为A。

3、在最坏情况下,下列排序方法中时间复杂度最小的是

A、冒泡排序

B、快速排序

C、插入排序

D、堆排序

标准答案:D

知识点解析:在最坏情况下:冒泡排序需要的比较次数为n(n-l)/2:快速排序需要

的比较次数也为n(n-l)/2;插入排序需要的比较次数也为n(n-l)/2;堆排序需要比

较的次数为0(nk)g2n)。可知,在最坏情况下,堆排序的时间复杂度最小,本题的

正确答案为D。

4、在模块化程序设计中,按功能划分模块的原则是

A、各模块的功能尽量单一,且各模块之间的联系尽量的少

B、各模块的功能尽量单一,且各模块之间的联系尽量紧密

C、各模块应包括尽量多的功能

D、各模块应包括尽量多的输入输出操作

标准答案:A

知识点解析:模块化设计是指把一个大程序按人们能理解的大小规模进行分解。划

分模块的基本原则是使每个模块都易于理解。按照人类思维的特点,按功能来划分

模块最为自然.在按功能划分模块时.要求各模块的功能尽量单一,各模块之间的

联系尽量少。所以,选顼A正确;选项B错误;选项C错误。本题的正确答突为

Ao

5、数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是

A、线性链表

B、二叉链表

C、栈与队列

D、循环队列

标准答案:C

知识点解析:线性链表是线性表的链式存储结构;二叉链表是二叉树的链式存储结

构;栈与队列分别是特殊的线性表;循环队列是队列的一种顺序存储结构。可知,

线性链表、二叉链表、循环队列均属于存储结构,而栈与队列属于逻辑结构。选项

C为正确答案。

6、下列叙述中正确的是

A、软件就是程序清单

B、软件就是存放在计算机中的文件

C、软件应包括程序清单以及运行结果

D、软件包括程序、数据和文档

标准答案:D

知识点解析:计算机软件是计算机系统中与硬件相互依存的另二部分,包括程序、

数据及相关文档的完整集合。用一个等式表示,则为:软件=程序+文档+数据选

项A、B、C错误,正确答案是D。

7、在结构化方法中,软件功能分解属于下列软件开发中的阶段是

A、概要设计

B、需求分析

C、详细设计

D、编程调试

标准答案:A

知识点解析:概要设计的任务是划分出构成系统的各物理元素以及设计出软件的结

构(如确定模块及模块间的关系)。设计过程通常分为以下几步:提出可选择方案:

选择合理方案;推荐最佳方案;功能分解;设“软件结构;制定测试“戈心生后提

交概要设计文档。软件功能分解属于概要设计阶段。本题的正确答案为A。

8、下列叙述中正确的是

A、程序设计过程中的主要工作是编制程序

B、程序设计的主要目标是编制出运行结果正确的程序

C、不良的程序设计风格会增加程序的复杂性

D、上述三种说法都不对

标准答案:C

知识点解析:程序设计过程中包括很多步骤,编制程序只是其中的一步C所以.选

项A错误。程序设计的最终产品是程序,但仅设计和编制出一个运行结果正确的

程序是不够的,还应养成良好的程序设计风格。所以,选项B错误。程序设计的

根本目标是要降低程序的复杂性和提高程序的可读性。而程序的复杂性主要来自以

下两个方面:问题固有的复杂性;不良的设计风格人为增加了程序的复杂性。所

以,良好的设计风格对于降低程序的复杂性是很重耍的,并且,好的设计风格是好

的程序风格的基本保证。选项C正确。

9、下列叙述中正确的是

A、用E-R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系

B、用E-R图只能表示实体集之间一对一的联系

C、用E-R图只能表示实体集之间一对多的联系

D、用E-R图表示的概念数据模型只能转换为关系数据模型

标准答案:A

知识点解析:用E-R图可以简单明了地描述实体及其相互之间的联系,用E-R图

还可以方便地描述多个实体集之间的联系和一个实体集内部实体之间的联系。所

以,选项A正确,选项B与C错误。为了建立用户所要求的数据库,必须把概念

结构(用E-R图表示的概念数据模型)转换为某个具体的数据库管理系统所支持的数

据模型,这就是逻辑结阂设计所要完成的任务。在已给定数据库管理系统的情况

下,数据库的逻辑设计可以分两步来进行:①将概念模型转换成一般的数据模

型;②将一般的数据模型转换为特定的数据库管理系统所支持的数据模型。可

知,用E-R图表示的概念数据模型不仅能转换为关系数据模型,还可以转换为其

他数据模型,如网状模型和层次模型等。所以,选项D说法错误。

10、关系表中的每一横行称为一个

A、元组

B、字段

C、属性

D、码

标准答案:A

知识点解析:在关系模型中,把数据看成一个二维表,每一个二维表称为一个关

系。关系表中的每一横行称为一个元组。本题的正确答案是A。

二、选择题(本题共25题,每题1.0分,共25分。)

11、下列说法正确的是

A、用abstract关键字修饰的方法,不能再被子类重写

B、用final关键字修饰的方法,不能再被子类重写

C^抽象类中一定要包含abstract方法

D、某个类中包含了abstract方法,该类可以不声明为abstract类

标准答案:B

知识点解析:本题考查类定义中的关键字。abstrac1关键字修饰的方法称为抽象方

法,该方法必须被重写,选项A错误;抽象类中不一定要包含abstract方法,但

是,一旦某个类中包含了abstract方法,该类就必须声明为abslracl类,选项C和

选项D错误;用final修饰的方法不能再被子类重写,选项B正确。

12、下列基本命令中,属于类文件分解器命令的是

A、javadoc

B、jar

C、javah

D、javap

标准答案:D

知识点解析:本题考查Java的JDK工具。javadoc是Java文档生成器,对Java源

文件和包以MML格式生成AP文档。压缩程序jar.exe的功能是把多个文件以zip

格式压缩到一个扩展名为jar的文件中,这样可以保持程序的完整性并便于使用。

javah是头文件(header)产生器。javap是Java类分解器,对class文件提供字节代码

的反汇编,并打印。javac是Java编译命令,能将源代码编译成字节码,以.class

扩展名存入,java工作目录中。java是Java解释器,执行字节码程序,该程序是类

名所指的类,必须是一个完整定义的名字。正确答案是D。

13、按照Java的标识符命名规则,下列表示常量的标识符规范的是

A、HelioWorld

B、HELLO_WORLD

C、hello_world

D、hclloWorld

标准答案:B

知识点解析:本题考查Java标识符的命名规则。属于考试重点内容,应该掌握。

Java中标识符的命名规则是:标识符以字母、下划线、美元符作为首字符的字符串

序列;标识符是区分大小写的;标识符的字符数没有限制。但是Java有一些命名

约定,基本原则为:$不作为变量名、方法名开头:变量名、方法名首单词小写,

其余单词只有首字母大写;接口名、类名首单词第一个字母大写;常量完全大写。

按照这些约定,可见只有选项B正确。

14、下列哪个数代表八进制整数?

A、0XA5

B、0144

C、1840

D、-1

标准答案:B

知识点解析:本题考查Java语言中的整型常量。题目虽然不难,但属于学习程序

设计语言的基础,应有所了解。整型常量有3种书写格式。十进制整数,如:

156,-230,345;八进制整数:以0开头,如:012表示十进制的八;十六进制整

数:以Ox或OX开头,如0X123表示十进制数291c由此可见,选项A表示的是

十六进制整数,选项B是八进制整数形式,以0开头,为本题正确选项;选项C

和选项D都是十进制整数。

15、下列关于构造方法说法正确的是

A、构造方法的名称可以和类不一样

B、构造方法必须有返回值

C、只能用运算符new调用构造方法

D、构造方法不可以被重载

标准答案:C

知识点解析:本题考查沟造方法的概念。构造方法用来初始化类的一个对象,构造

方法具有和类一样的名祢,选项A说法错误。构造方法没有返回类型还可以重

载,选项B说法错误。构造方法只能用运算符new调用构造方法,选项C说法正

确。如果没有定义构造方法,在Java运行时,系统会自动提供默认的构造方法,

它没有任何参数,选项D说法错误。

16、执行下面的程序段后i和j的结果为inii=Lj=10;do{if(i++>-

j)continue;}while(i<5);

A^i=6,j=5

B、i=5,j=5

C>i=6,j=4

D、i=5,j=6

标准答案:D

知识点解析:本题考查考生对自增自减运算符的理解。++op和。p++,表示对樊作

数op加1,其中++op表示先对op加1然后再取值,而op++表示先取值,然后再

对op进行加1。和op--也是一样,当进行到i=5时退出循环,此时j为6。因

此,本题正确答案为选项D。

17、char变量的取值范围是

A、0-32767

B、0-65535

C、-256〜255

D、-32768-32767

标准答案:B

知识点解析:本题考查Java中数据的取值范围。char是字符变量类型,在内存中

占16位bil,表示范围为0〜65535,选项B正确。chai•不能当作整数使用,char

类型的值可以转换为im类型,但反过来,ini类型转换为char类型时,必须强制执

行。

18、下列数组arrayjest中,能在程序运行时动态调整大小的是

A、intarray_test[]=newint[l0]

B、String1]array_test

C、ArrayListarray_test=newArrayList()

D、Arrayarray_test=newArray()

标准答案:C

知识点解析:本题考查数组的概念。数组的定义与初始化是考试重点,也是比较容

易出错的地方,应该灵活掌握。动态初始化需要使用new操作符来分配内存空

间,既可以在声明时初始化,也可以在声明以后初始化。声明时初始化:类型数

组名[]=new类型[数组长度]:声明后初始化:类型数组名口;数组名=new类型

[数组长度];选项A定义了一个含有10个元素的整型数组,不符合题意;选项B

定义了一个字符串数组。在Java语言中用一种特殊的类一java.util.ArrayLisl(数组

列表)在运行时能动态调整数组的大小。ArrayList类在定义数组时,不必限定数组

的大小。在数组列表初始化时,可用add。方法将数组元素赋值。

19、卜,面程序段:booleana=false;booleanb=true:booleanc=(a||b)&&(b);

booleanresult=(a|b)&(b);执行完后,正确的结果是

A、c=false:result=false

B、c=true,result=true

C、c=true;result=false

D^c=false;result=true

标准答案:B

知识点解析:本题考查Java中的运算符。考试重点内容,历次考试都有题目涉

及。首先耍清楚,“&&”是逻辑与运算符:是按位与运算符;是逻辑或运算

符;是按位或运算符,“a||b”的结果为true,所以“truc&&true”结果为true。而

“a|b”的结果也为true,故resuli=(a|b)&(b)语句的结果也为true,选项B正确。

20、下列对继承的说法正确的一项是

A、子类能继承父类的所有方法和状态

B、子类能继承父类的非私有方法和状态

C、子类只能继承父类的public方法和状态

D、子类只能继承父类的方法,而不能继承状态

标准答案:A

知识点解析:本题考查继承的概念。继承性是面向对象方法的一个重要基本特征,

它使代码可重用,可降低程序复杂性。对一个类的继承也就是构件了一个子类,子

类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。由此可见

选项A正确。

21、表达式l+2+”aa”+3的值为

A、12aa3

B、3aa3

C、12aa

D、aa3

标准答案:B

知识点解析:本题考查Java中的运算符。运算符可以做字符串的连接运算,题

中的表达式的运算过程可以看作是:((l+2)+”aa”)+3,首先进行1+2得到数值3,再

和字符串“aa”做字符串的连接,得到字符串最后跟数值3再做一次连接运

算,得到“3aa3”。

22、数据报通信协议UDP把每个传输的数据大小控制在下列哪一项之内

A、8KB

B、I6KB

C、64KB

D、128KB

标准答案:C

知识点解析:本题考查数据报通信的协议UDP。UDP协议对每个数据报是一个独

立的信息传输单位的大小限定,UDP协议对传输数据的大小有限制,在64KB之

内。正确答案为选项Cc它的传输不可靠,但操作简单,因此,适用于广播式的重

复传输、时钟器的传输、ping命令的传输等。

23、关于下面语句的说法正确的是String[][]s=newString[10][];

A、该语句不合法

B、该语句定义了一个二维数组,它包括10行10列

C、s是一个包含10个数组的数组

D、s中的每一个元素都被设在成””

标准答案:C

知识点解析:本题考查多维数组的定义。Java中没有多维数组这种数据结构,只有

一维数组,在Java中实现的所谓的多维数组,实际上是由一维数组“焊接”而成的

“数组的数组”。也就是说,某个一维数组的元素是另一个一维数组则称之为二维数

组,依次类推,一维数组的多次嵌套定义,构成了多维数组。由此可见,题目中语

句s是一个包含10个数组的数组,对每个元素都赋null值,选项C说法正确。

24、利用File对象可以判断的是

A、创建子目录

B、获得文件长度

C、删除文件

D、判断文件的存在

标准答案:D

知识点解析:本题考查Java语言中对File对象的操作。要对一个文件进行操作,

首先需要有关的文件描述信息,例如文件的名称、所在的路径以及文件是否可读可

写等。在Java语言中,类File是通过文件名列表来描述一个文件对象的属性。通

过File类提供的方法,可以获得文件的描述信息,并且还可以改变文件的名称、

删除文件等。File对象不可以创建文件目录等操作。File对象可以判断一个文件或

目录对象是否存在、是否可读,但不可以执行创建子目录、获得文件长度、删除文

件以及修改文件名字等操作。

25、正确生成RandomAccessFile对象的语句的是

A、Filef=newFile("readFileH);RandomAccessFileraF=newRandomAccessFile(f);

R、RandomAccessFileraF=newRandomAccessFile(d:\\mydir\\File3.txt,nrw"):

C、RandomAccessFileraF=newRandomAccessFile("readwriteFile","n\;");

D、RandomAccessFileraF=newRandomAccessFile("readwriteFile",rw);

标准答案:C

知识点解析:本题考查随机文件流的概念。文件操作中经常需要的是随机访问,

Java中的RandomAccessFile类提供了随机访问文件的功能,它继承了Object类,

用Datalnput和DataOutput接口来实现。接口中定义了从流中读/写基本类型的数据

方法。因此也可以随机读入数据文件的记录。一个随机文件建立的语句为:_

RandomAccessFileraF=newRandomAccessFile(,'readwriteFile","rw");其中"rw”表示

可读写,所以选项C正确。

26、要表示表格的数据,需要继承下列哪个类?

A、AbstractTableModel

B、TableModcl

C、JTable

D、TableModeLabel

标准答案:A

知识点解析:本题考查Swing的构件。表格是Swing新增加的构件,主要功能是

把数据以二维表格的形式显示出来。使用表格,最好先生成一个MyTableModel类

型的对象来表示数据,这个类是从AbsiractTableModel类中继承来的,其中的几个

方法一行要重写。因为JTable会从这个对象自动获取表格显示所必需的数据,

AbslraclTableModel类的对象负责表格大小的确定(夕亍、列)、内容的填写等。

27、下面代码的运行结果是publicclassTest{publicstaticvoidmain(String

args[J){tor(int1=0;i<3;i++)(it(i<2)continue;Systcm.out.pnntln(i);})}

A、0

B、1

C、2

D、3

标准答案:C

知识点解析:本题考查简单的Java控制语句。题目非常简单,但还是应该细心。

这里应注意conlimie语句。cominue语句是跳过循环体中下面尚未执行的语句,回

到循环体的开始继续下一轮的循环。当然,在下一轮循环开始前,要先进行终止条

件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要

先执行”代语句。题目所给程序中,当i=0和i=l时,都会行cominue语句,而

不会执行System.out.println(i)语句,只有当i=2时才执行System.out.println(i)

语句,输出为2,选项C正确。

28、下列字节输入流中,不能够被实例化的是

A、FilelnputStream

FilterlnputStream

C、ByteArraylnputStream,

D、ObjectlnputStream

标准答案:B

知识点解析:本题考查Java中的字节输入流。不能被实例化的类是抽象类,题目

所给的4个选项中,由于只有过滤器输入流是抽象类,因此选项B不能被实例

化。FilelnputStream可对一个磁盘文件涉及的数据操作;FilterlnputStream过滤器

输入流本身也是一个抽象类,它的各个子类定义了过滤的类型方法;

ByteArraylnputStream以字节数组作为输入流;ObjectlnputStream类实现了

ObjectinputS,对象在传输前,要首先实现Serializable接口。

29、Java中,类FilelnputStream和FileOutputStream提供了对文件的读/写方法是

A、跳跃

B、顺序

C、随机或顺序

D、随机

标准答案:B

知识点解析:本题考查Java中,类FilelnputStream和FileOulpulStream提供了对文

件的顺序读/写方法,选项B正确。

30、下列不是DataOutputStream方法的是

A、writeDouble(doublev)

B、writelnt(intv)

C、writeString(intv)

D、wrileChar(intv)

标准答案:C

知识点解析:本题考查DataOutputStream方法。DataOutputStream备有读写各种类

型数据的方法,例如:writeDouble(doublev)写8个字节长的二进制双精度浮,点

数:writelnt(intv)写出4个字节长的二进制整数;writeChar(inlv)写字符(Unicode

码)。DataOutputStream并没有writcString(intv)方法。

31、下列语句中所使用的布局管理器,当改变容器大小,组件大小不会随着一起改

变的是

A、Frameframe1=ncwFrame("FlowLayout");

B、Frameframel=newFrame("BorderLayout");

C、frame1=newFrame("example"):frame1.setLayout(newBorderLayout。):

D、framel.sctLayout(newGridLayout(2,3));

标准答案:A

知识点解析:本题考查java中各种布局管理器的布局特点。在FlowLayout中所有

组件都被压缩至最小,当容器大小变化时,上面的组件保持最小状态,大小不变;

在BorderLayoul中任何组件都尽量伸展,使它与容器的边缘对齐,当容器大小变

化时,组件将随之变化;GridLayout将容器等分为几个格子,每个组件占一个格

子,当容器大小变化,格子大小也变化,组件大小也变化。

32^关于下面程序段的说法,正确的是importjava.applet.*;importjava.awt.*;

publicclassTestextendsApplet]ImageIMGonClick=over(this)title=放大;public

voidinit(){IMGonClick=over(this)title二放大二newImage();)publicvoid

paint(Graphicsg){g.drawImage(IMGonClick=over(this)title=ttA»0,0,this);)}

A、该程序段可以正常运行

B、程序中所创建的Image为空,但可以显示

C、程序中所创建的Image不为空

D、程序中所创建的Image为空,不能显示

标准答案:D

知识点解析:本题考查Image的概念和用法。程序的目的是想要使用一

drawlmage(lmageimg,intx,inty,ImageObserverobserver)方法将img在Applet中画

出,但由于程序段所创建的Image为空,不能显示,应该先调用gellmage。获取已

经存在的图像。所以选项D正确。

33、用HTML文件显示APPLET时,下面属于必不可少的属性的是

A、NAME、HEIGHT和WIDTH

B、CODEflNAME

C、CODEBASE>HEIGHTWIDTH

D、CODE、HEIGHT和WIDTH

标准答案:D

知识点解析:本题考查Applet标记中最基本的属性的概念。〈APPLET〉标记中有

3个属性是必不可少的,CODE属性规定小程序的主要类文件的名称,HEIGHTS

性规定了网页上小程序窗口的高度,WIDTH属性规定了网页上小程序窗口的宽

度,其他的属性都是可选的.NAME属性是为创建的Applet定义一个名字,以便

同一个页面中的Applet能够彼此发现并进行。CODEBASE属性是执行Applel的

URL地址,该URL是包含了Applet代码的目录。

34、下列关于Applet的叙述中,正确的是

A、Applel是Java类,所以可以由JDK中的解释器java.exe直接解释运行

Applet应该定义为javax.applet.Applet类或java.swing.Applet类的子类

C^Applet与Application的主要区别速编译方式上

D、通过在Applet中使用getParameter可从HTML文件中获得参数

标准答案:D

知识点解析:本题考查Applet的基本概念。选项A说法错误,Applet虽然是Java

类,但并不能用JDK中的解释器java.exe直接解释运行,而必须使用applelviewer

来运行,运行过程比Application更复杂。Applet必须定义为java,applet.Applet

类或javax.swing.JApplet类的子类,选项B说法错误。Applet与Application的

主要区别在执行方式上,它们的编译方式是相同的,选项C说法错误。通过在

Applet中使用getParameter可从HTML文件中获得参数,选项D说法正确。

35、下列说法中错误的一项是

A、当线程需要在synchronized块中等待共享数据状态改变时,则需要调用wait。

方法

B、当线程需要在synchronized块中等待共享数据状态改变时,则需要调用nolify。

方法

C>线程在synchronized块中执行完操作后,调用notify。方法通知正在等待的线程

重新占有锁

D、wait。和nolify。可以实现线程的同步操作

标准答案:B

知识点解析:本题考查线程间交互的概念。当线程进入synchronized块后,共享数

据的状态并不一定满足该线程的需要,它要等待其他线程将共享数据改变为所需要

的状态后才能继续执行,但由于此时它占有了该对象的锁,其他线程无法对共享数

据进行操作,此时线程调用wail()方法进入等待状态,并且暂时释放共享数据的对

象锁,其他线程可以获得该对象锁,进入synchronized块进行操作,操作完成之

后,再调用notify。方法通知等待的线程重新占有锁,这样就实现了线程的同步操

作。由此可见,wait。方法是线程需要在synchronized块中等待共享数据状态改变

时调用,而no【ify()方法是线程在synchronized块中执行完操作后调用,用来通知

正在等待的线程重新占有锁,选项B的说法错误。

三、公共基础填空题(本题共5题,每题1.0分,共5

分。)

36、在深度为5的完全二义树中,度为2的结点数最多为o

标准答案:15

知识点解析:在深度为5的完全二叉树中,度为2的结点数最多的是深度为5的满

二义树。在深度为5的满二义树中,前4层中所有结点的度为2。即在深度为5的

完全二叉树中,度为2的结点数最多相当于深度为4的满二叉树中的结点数。深度

为4的满二叉树中的结点数为2的4次方-1=15。

37、算法复杂度主要包?舌时间复杂度和复杂度。

标准答案:空间

知识点解析:算法的复杂度主要包括时间复杂度和空间复杂度。所谓算法的时间复

杂度,是指执行算法所需要的计算工作量。一个算法的空间复杂度,一般是指执行

这个算法所需要的内存空间。

38、Jackson方法是一种面向的结构化方法。

标准答案:数据结构

知识点解析:Jackson方法是一种面向数据结构的结构化方法。

39、一个项目具有一个顶目主管,一个项目主管可管理多个项目。则实体集“项目

主管''与实体集“项目”的联系属于的联系。

标准答案:一对多

知识点解析:实体集“项目主管”与实体集“项目”的联系属于一对多的联系。

40、数据结构分为逻辑结构和存储结构,循环队列属于结构。

标准答案:存储或物理或存储结构或物理结构

知识点解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构

(也称数据的物理结构)。所谓循环队列,就是将队列存储空间的最后一个位置绕到

第一个位置,形成逻辑上的环状空间,供队列循环使用。可知,循环队列应当是物

理结构。

四、填空题(本题共70题,每题1.0分,共10分。)

41、多线程是Java语言的机制,只能够处理同步共享数据和各种不同的事

件。

标准答案:并发

知识点解析:本题考查Java语言的特点。Java语言的开发运行环境都是互联网,

在这种分布式的环境中,并发和共享是很常见的事务,要能并行地处理很多事务,

就要求Java语言提供一种可靠和高效的机制,来满足高并发事务处理的需求。多

线程很好地解决了网络上的瓶颈问题及大量的网络访问问题。

42、Java源文件中最多只能有一个类,其他类的个数不限。

标准答案:public

知识点解析:本题考查Java的程序结构。Java程序结构是考试重点内容,它非常

简单,应该记忆相关内容。Java源文件中最多只能有一个public类,其他类的个数

不限。另外,还应该了解package语句只能有。或1个:import语句可以有0或多

个;接口可以定义0个或多个。

43、执行下面的程序段,输出结果为opublicclassQ{publicstaticvoid

main(Stringargvr))(intanar[]=ncwint[5];System,out.println(anar[O]);})

标准答案:0

知识点解析:本题考查Java中数组的定义和初始化。在该方法里定义并动态初始

化了一个整型数组anar,由于没有赋初值,系统给默认的初始值是数组中的每个元

索全部为零。所以输出数组中的第一个元素anar[0]时,自然也是等于零。

44、Java运行时系统通过_____周期性地释放无用对象所使用的内存,以完成对象

的消除。

标准答案:垃圾收集

知识点解析:本题考查Java的垃圾收集机制。Java语言中内存的分配和释放工作

由自己完成,程序员不必做这些工作,它提供•个系统级的线程,跟踪每个内存的

分配,在JVM的空闲处理中,垃圾收集线程将检查和释放不再使用的内存(即可以

被释放的内存)。垃圾收集的过程在Java程序的生存期中是自动的,不需要分配和

释放内存,也避免了内存泄漏。

45、要使处于不同层次,甚至是且不相关的类E以具有相同的行为采用o

标准答案:接口

知识点解析:本题考查凄口的概念。接口是一种只含有抽象方法或常量的特殊的抽

象类,主要功能有:不管类的层次,可实现互不相关的类具有相同的行为;通过接

口可以说明多个类所需实现的方法;通过接口可以了解对象的交互界面,无需了解

对象所对应的类。通过接口可以为没有任何关系的两个或多个类之间提供相同的行

为方式。

46、关于文件名的处理中,测试当前文件是否目录用______函数。

标准答案;booleanIsDircctoryO

知识点解析:本题考查考生对文件类中提供的一些基本函数的掌握和应用能力。

IsDirectoryO方法是检测木File对象所代表的是否一个目录。如果存在并且是一个

目录则返回true;否则为false0

47、下列程序的功能是创建了一个显示5个"Hello!”的线程并启动运行,请将程序

补充完整。publicclassThreadTestextendsThread{publicstaticvoidmain(String

args[]){ThreadTestt=newt.start();)publicvoidrun(){inti=0;

while(true){System.out.prinUn("Hello「');if(i++==4)break;)))

标准答案:ThreadTest()

知识点解析:本题考查线程的创建。题1=1程序的功能是按要求实现输出,通过继承

Thread类来创建线程。Thread类本身实现了Runnable接口,所以在java.匕盛的

Thread类的定义中可以发现run()方法,通过继承Thread类,必须重写其中的run。

方法定义线程体,然后创建该子类的对象创建线程。题目缺少线程创建的语句,因

此应该填写:ThreadTestt=newThreadTesl()o类ThreadTest继承了Thread类,并

将Thread类的run()方法进行了重写,run()方法的功能是实现输出字符串。

48、包含Swing构件的Applet(小应用程序)应该是_____类的子类。

标准答案:JApplet或javax.swing.JApplet

知识点解析:本题考查Swing构件。Swing是AWT扩展,提供了许多新的图形界

面构件,都是以开头。顶层容器包括JFrame、JApplet>JDialog和JWindow共4

个。JApplet是一个使Applet能够使用Swing构件的美,是java,applet.Applel类

的子类。包含Swing构'牛的Applet必须是JApplet类的子类。

49、请阅读下列程序代码,然后将程序的执行结果补充完整。程序代码:public

classthrowsException{staticvoidProc(intsei)throwsArithmeticException,

ArraylndexOutOfBoundsException{System,out.println("InSituation*'+sel);

if(sel==0){System,out.println("noExceptioncaught");return;}else

if(sel==l){intiArrayl|=newint|4|;iArrayl1]=3;)}publicstaticvoidmain(String

args[]){try{Proc(O);Proc(l);)catch(ArraylndexOutOfBoundsException

e){System.out.println("Catch"+e);}finally!System.out.println("inProc

finally");})}执行结果:InSituation0noExceptioncaughtinProcfinally

标准答案:TnSituation!

知识点解析:本题考查考生阅读Java程序的能力。题目程序看似复杂,但流程非

常简单。程序的public类是throwsExceplion,类中定义/Proc(intsei)方法。程序

入口是main。方法,使用try-catch-finally来捕获ArithmeticException和

ArraylndcxOutOfBounds-Exccption异常,这两个异常是关于算术异常或数组索引越

界的异常。执行Proc(O)时,盗出InSituation0和noExceptioncaughl两条信息;执

行Proc(l)时,输出InSituation1和inProcfinally两条信息。整个程序并未发生异

常。

50、请将程序补充完整。imporljava.awt.*;publicclassFirstFrameextends

Frame)publicstaticvoidmain(Stringargs|]){FirstFramefr=newFirstFrame("First

container!");fr.setSize(240,240);fr.setBackground(Color.yellow):}

publicFirstFrame(Stringstr){super(str);))

标准答案:fr.setVisible(true);

知识点解析:本题考查容器的概念。题目所给程序段的容器是一个窗口,窗口中并

没有放置其他构件,由于默认为不可见,因此需要调用setVisible(true)来设置窗口

为可见的。需要注意题目程序只是生成一个窗口,但是并不能响应用户的操作,即

使是单击窗口右上角的"关闭''按钮,也不能关闭窗口。

国家二级(JAVA)笔试模拟试卷第2套

一、公共基础选择题(本题共10题,每题7.0分,共

10分。)

1、算法的空间复杂度是指()。

A、算法程序的长度

B、算法程序中的指令条数

C、算法程序所占的存储空间

D、算法执行过程中所需要的存储空间

标准答案:D

知识点解析:算法的空间复杂度,是指执行这个算法所需的存储空间。算法所占

用的存储空间包括算法程序所占用的空间、输入的初数据所占用的存储空间及算法

执行过程中所需要的额外空间。

2、用链表表示线性表的优点是()。

A、便于随机存取

B、花费的存储空间较顺序存储少

C、便于插入和删除操作

D、数据元素的物理顺序与逻辑顺序相同

标准答案:C

知识点解析:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

“关系”描述的是数拥元素之间的逻辑关系,因此又称数据的逻辑结构。数据的存储

结构是指数据结构(数据的逻辑结构)在计算机中的表示,又称物理结构。数据的存

储结构有顺序存储结构和链式存储结构两种,不同存储结构的数据处理效率不同。

由于链表采用链式存储结构,元素的物理顺序并不连续,对于插入和删除无需移动

元素,很方便,当查找元素时就需要逐个元素查找,因此查找的时间相对更长。

3、已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该

二叉树的后序遍历为(),

A、GEDHFBCA

B、DGEBHFCA

C、ABCDEFGH

D、ACBFEDHG

标准答案:B

知识点解析:二叉树的遍历有3种:前序、中序和后序。后序遍历首先遍历左子

树或左子结点,然后遍历右子树或右子结点,最后访问根结点:中序遍历首先遍历

左子树或左子结点,然后访问根结点,最后遍历右子树或右子结点,后序遍历首先

访问根结点,然后遍历左子树或左子结点,最后遍历右子树或右子结点。本题根据

前序遍历和中虚序遍历的结果可以得出:乂树的结构,然后再对其进行后序遍历,

因此答案为选项B。

4、下列数据结构中,能用二分法进行查找的是()。

A、顺序存储的有序线性表

B、线性链表

C、二叉链表

D、有序线性链表

标准答案:A

知识点解析♦:二分法查找只适用于顺序存储的有序线性表,对于顺序存储的非有

序线性表和线性链表,都只能采用顺序查找。

5、结构化程序设计的3种基本结构是()。

A、过程、子程序和分程序

B、顺序、选择和重复

C、递归、堆栈和队列

D、调用、返回和转移

标准答案:B

知识点解析:程序的三种基本控制结构包括:顺序、选择和重复(循环),这三种结

构就足以表达出各种其池形式的结构。

6、下列叙述中正确的是()。

A、态模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息

B、在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节

C、在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则

D、在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法

标准答案:C

知识点解析:在模块化程序设汁中,模块之间的联系可以通过程序的控制结构来

实现,在自顶向下逐步细化的设汁过程中,首先要考虑全局目标,而不是细节。在

程序设计中模块化和结沟化可以同时使用,一个模块的内部结构也要符合结构化设

计原则。

7、设计软件结构是在软件生命周期的()。

A、软件定义期

B、软件开发期

C、软件维护期

D、以上3个都不是

标准答案:B

知识点解析:设计软件结构,是在软件概要设计阶段进行的,而概要设计属于软

件开发期。

8、数据库技术的根本目标是要解决数据的()。

A、存储问题

B、共享问题

C、安全问题

D、保护问题

标准答案:B

知识点解析:在数据库系统中,需要对数据进行集中、统一的管理,以达到被多

个应用程序共享的目标。

9、设计数据库的存储结构属于()阶段。

A、需求分析

B、概念设计

C、逻辑设计

D、物理设计

标准答案:D

知识点解析:物理设计阶段主要解决选择文件存储结构和确定文件存取的方法的

问题,包括:选择存储结构、确定存取方法、选择存取路径、确定数据的存放位

置。

10、相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和()。

A、可重用性差

B、安全性差

C、非持久性

D、冗余性

标准答案:D

知识点解析:文件系统所管理的数据文件基本上是分散、相互独立的。因此相对

于数据库系统,以此为基础的数据处理存在3个缺点:数据冗余大、数据的不一致

性、程序与数据的相互依赖(简称为数据依赖)。

二、选择题(本题共25题,每题1.0分,共25分。)

11、用来导入已定义好的类或包的语句是()。

Asmain

B、import

C、publicclass

D、class

标准答案:B

知识点解析:本题考查Java中的import语句。Java中使用import语句来导入巳定

义好的类或包,需要注意Java语言的java.kmg包是编译器自动导入的,编程时如

果使用该包中的类,可省去Import导入,如果要使用其他包中的类,必须用

import导入。

12、下列叙述中,正确的是()。

A、声明变量时必须指定一个类型

B、Java认为变量numberAiNumber相同

C、Java中唯一的注释方式是“〃“

D、源文件中public类可以有。或多个

标准答案:A

知识点解析:本题考查Java中的基本概念。关于Java的基本概念是考试重点,应

该重视。在Java中,声明变量时,必须指定类型,否则将会出错,所以选项A说

法正确。Java标识符是区分大小写的,这是与C语言不同的,变量number和

Number对Java来说是不同的,选项B说法错误。Java中有三种注释方式:文档注

释严/**…*/,被javadoc处理.,可以建立类的一个外部说明性文件:c语言注敕风

格用于去掉当前不再使用但仍想保留的代码等:单行注释//,格式上要求

注释符〃后必须紧跟一个空格,然后才是注释信息,选项C说法错误。源文件中

public类可以有0或1个,不能多于I个,选项D说法错误。

13、下列属于合法的Java标识符是()。

A、ABC

B、&5678

C^+rriwo

D^saler

标准答案:D

知识点解析:本题考查Java语言中的整型常量。整型常量有3种书写格式:十进

制整数,如156J.-230,345:八进制整数:以0开头,如012表示十进制的10:

十六进制整数:以Ox或0X开头.如0X123表示十进制数291。由此可见,选项

A表示的是十六进制整数,选项B不是整数形式,选项C是十进制整数,选项D

是八进制整数,为本题正确选项。Java中标识符的命名规则是:标识符以字母、下

划线、美元符作为首字符的字符串序列;标识符是区分大小写的:标识符的字符数

没有限制由此可见Java中标识符不能以””开头,所以选项A错误,不能以"&”开

头,选项B错误,不能以开头,选项c错误,只有选项D是正确答案。

14、下列代表十六进制整数的是()。

A、0123

B、1900

C、faOO

D、0xa2

标准答案:D

知识点解析:本题考查Java语言中的整型常量。整型常量有3种书写格式:十进

制整数,如123,-30,365:,八进制整数:以0开头,如011表示十进制的9;

十六进制整数;以Ox或OX开头,如031123表示十进制数291。由此可见,选项

D表示的是十六进制整数,选项C不是整数形式,选项B是十进制整数,选项A

是八进制整数,只有选项D为本题正确选项。

15、在Java中,实现用户界面功能的包是()。

A、java.applet

B、javax.transaction

C、java.util

D、java.awt

标准答案:D

知识点解析:本题考查考生对Java包功能的了解。选项A中java.applet包是为

Applet提供执行需要的所有类,主要访问Applet内容的通信类;选项B中

IxansactlOn包是属于javax而不是java.javax.transacUon包是提供事务处理所需要的

包:选项C中包提供使用程序类和集合类,如系统特性定义和使用、日期

函数类,集合Collection、Map、Lisi、Anay等常用工具类;java.awt包是封装抽象

窗口工具包,提供构建和管理用户图形界面功能,为本题正确答案。

16、下面()正确表示了int类型的聚会范围。

A、-216-216-1

B、-231〜231-1

C、-232〜232-1

D、-264-264-1

标准答案:B

知识点解析:该题考查对摹本数据类型的长度范围的掌握。在Java语言中,每一

种基本类型的长度范围是固定的,它不随着机器字长的改变而改变。对于整型

(int).它的长度是4个字节,而且它可正可负,所以其取值范围应该是-232〜232-

le

17、在编写JAVA程序的时候,如果不为类的成员变量定义初始值,JAVA会给它

们设置默认值,下列说法中不正确的是()。

A、Byte的默认值是0

B、int的默认值是0

C、10ng的默认值是OOL

D、float的默认值是O.Of

标准答案:C

知识点解析:Long类型的默认值为0L,向不是0.0L。

18、JAVA语言中所有的简单数据类型都被包含在()中。

A、java.sql

java.awt

C、java.lang

D^java.math

标准答案:C

知识点解析:Java语言中,所有的简单数据类型都被包含在包javaJang中。

19、设a=8,则表达式的值是()

A、1

B、2

C、3

D、4

标准答案:B

知识点解析:本题具体考查对位运算符中无符号右移运算符的掌握。无符号右移

运算符“>>>”用于将—个数的各二进制位全部无符号右移若干位,与运算符》

不同的是左补0。在本题中,8的二进制表示是1000,右移两位后变成了

0010,对应的十进制数是20

20、以下各选项中能正确声明一个表示50个值为null的字符串数组的是()。

A、stringl|a;

B、stringa[];

C、chara[50][]

D、stringa[]=newString[50]

标准答案:D

知识点解析:本题考查对字符串数组变量声明的掌遇。在Java语言中,

lypearrayName||和type[]arrayNamer效果一样,都表示声明一个数组。所以选项A

和选项B的效果是一样的,对于本题来说都是不正确的,因为它们没有指明数组

所包含的元素的个数;选项C是一个二维的字符数组,Java语言跟C语言不一

样,在C语言中,一个二维的字符数组就可以表示一个一维的字符串数组。而在

Java中.字符char是基本数据类型,字符串"ring则是以对象的形式来表示的0所

以,chara口口并不等价于stringa口。而且C选项并没有指明数组的长度;选项D正

确地声明了一个长度为50的空字符串数组。

21、下列程序的输出结果是()。publicclassArrayTest

{publicstaticvoidmain(Stringargs[]){int[]intArray=ncwint[3]for(inti=0;i<3;i++)

{intArray[i]=i+2;system.out.println(',IntArrayr["+i+"]'-intArray[i]);}

System.out.println(4'--------");intarrLen=4;IntArray=newint[arrLen];

For(intj=intArray.length;j>=0;j—)(intArray|j]=j*3;

system.out.printIn(Hhello'+intArray(j]);})}

A、编译未通过

B、编译通过,但运行错误

C、可以运行,但有错误

D、以上都不对

标准答案:B

知识点解析:这是一道考查数组引用的题,目的是考查如何在程序中引用初始化

后的数组。引用的方式为arrayName[index],其中index为数组的下标,可以为整

数,变量和表达式,范围从0开始,一直到数组的长度减1。在Java语言中,是要

对数组下标进行检查的。因此当程序运行到数组的长度值时,就发生了越界现象。

22、下列程序的运行结果是()。Publicclasssun{Publicstaticvoidmain(Stringargs[])

{intx=4,y=0:if(Math.povv(x,2)=16)y=X;if(Math.pow(x,2)<15)y=l/x

if(Math.pow(x,2)>15)y=(int)Math.pow(x92)+1;system,out.println(y);)}

A、4

B、17

C、18

D、0.25

标准答案:B

知识点解析:本题是考查对ifQse分支结构和几个标准函数的理解。pow(x,y)方法

是x的y次累,程序中pow(x,2)满足第1个if语句和第3个if语句,条件变量y将

被赋值两次,但对于同一个变量来说,只能存储最后一个所赋的值。

23、自定义的异常类可从()类继承。

A、Error

B、AWTError

C、VirtualMachineError

D^Exception及其子集

标准答案:D

知识点解析:Java语言中Throwable类分为Erroi•和Exception两个子类。自定义

的异常类是从Exception及其子集类继承的。

24、t为加类型,进入下面的循环之前,t的值为0。则下列说法中正确的是()。

whilc(t=1){...}

A、循环控制表达式的值为0

B、循环控制表达式的值为1

C、循环控制表达式不合法

D、以上说法都不对

标准答案:B

知识点解析:本题考核对while循环及逻辑表达式的理解。循环控制表达式为赋值

表达式1=1,水远为1(为具)。

25、下面for循环语句的执行结果是()。for(intj=10;j>3;j-){ifG%3!=0)j-;-j;

—j;Syslein.oul.println(j);)

A、63

B、74

C、62

D、73

标准答案:B

知识点解析:该题考查对for循环的理解。①当j=10时,满足条件j>3,由于for

循环中j-执行了1次,j的值为9,执行if涪句,j%3=0不满足条件,继续向下执

行2次-j,j的值为7:②当j=7时,满足条件j>3,由于for循环中j-执行了1

次,的佰为6,执行if[语句,i%3=0不满足条件,继续向下执行2次-jj的值为4。

26>关于Applet执行的操作,下面说法正确的是()。

A、在运行时调用其他程序

B、可以进行文件读写操作

C、不能装载动态连接感和调用任何本地方法

D、试图,打开一个sockel进行网络通信,但是所连接的主机并不是提供Applet的

主机

标准答案:C

知识点解析:本题考查Applel的概念。Java虚拟机为Applet提供能够良好运行的

沙箱,一旦它们试图离开沙箱则会被禁止。由于Applet是通过网络传递的,这就

不可避免地使入想到会发生安全问题。例如,有人编写恶意程序通过小应用程序读

取用户密码并散播到网络上,这将会是一件非常可怕的事情。所以,必须对小应用

程序进行限制。浏览器禁止Applet执行下列操作:Applet不能运行任何本地可运

行程序,选项A错误。禁止加载本地库或方法,Applet只能使用自身的代码或

Applet浏览器提供的JavaAPI,不允许装载动态连接库和调用任何本地方法,选项

c正确。禁止读写本地计算机的文件系统,选项B错误,禁止向提供Applet之外的

任何主机建立网络连接,如果Applet试图打开一个socket进行网络通信,所连接

的主机必须是提供Aoolet的主机,选项D错误。

27、下列关于Applet生命周期的说法,正确的是()。

A、voidinit。在Applet下载前调用

B、voidstarl。只在而始化之后调用

C、vcidstopO在关闭浏览器时调用

D^stop。总在voiddestroy。之前被调用

标准答案:D

知识点解析:本题考查Applet生命周期的概念。Applet生命周期是考试重点考查

内容,应该加以重视ovoidinit。在Apple下载时调用,而木是下载前调用,选项A

错误。voidslart。在初始化之后以及在Apple【被重新访问时调用,不仅仅只是在初

始;之后调用,选项B错误。voidstop。在停止执行时调用,关闭浏览器时调用的

是voiddestroYO,选项C错误。voiddestroyO在关闭浏览器Applet从系统中撤出时

调用,此时Applet必然调用stop。方法停止其运行,然后才能调用voiddeslroyf)方

法从内存卸载并释放该Applet的所有资源。注意理解Applet的执行过程

28、对于下面语句的说法,不正确的是()oThreadthrObj=newThread()

温馨提示

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

评论

0/150

提交评论