二级JAVA笔试140.docx
- 文档编号:7404690
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:17
- 大小:26.20KB
二级JAVA笔试140.docx
《二级JAVA笔试140.docx》由会员分享,可在线阅读,更多相关《二级JAVA笔试140.docx(17页珍藏版)》请在冰豆网上搜索。
二级JAVA笔试140
二级JAVA笔试-140
(总分:
100.00,做题时间:
90分钟)
一、选择题(总题数:
35,分数:
70.00)
1.以下程序段的输出结果为()
intj=2;
switch(j)
case2:
System.out.print("two.");
case2+1:
System.out.println("three.");
break
default:
System.out.println("valueis"+j);
break;
(分数:
2.00)
A.two.three. √
B.two.
C.three.
D.valueis2
解析:
[解析]该题测试的是考生对switch语句的掌握,执行时,swish语句根据表达式返回的值与每个case子句的值相比较。
如果匹配成功,则执行该case子句后的语句序列,直到执行到break语句或switch语句结束,然后跳出switch语句。
如果匹配不成功,则跳转到default语句。
本题中的switch
(2)应对应case2,所以输出"two.",但是它后面没有break,所以继续执行case2+1,输出"three.",这时遇到break,则跳出switch语句。
所以本题选择A。
2.下列关系运算的叙述中,正确的是()
(分数:
2.00)
A.投影、选择、连接是从二维表行的方向进行的运算
B.并、交、差是从二维表的列的方向来进行运算
C.投影、选择、连接是从二维表列的方向进行的运算 √
D.以上3种说法都不对
解析:
[解析]在关系模型的数据语言中,一般除了运用常规的集合运算(并、交、差、笛卡尔积等),还定义了一些专门的关系运算,如投影、选择、连接等。
前者是将关系(即二维表)看成是元组的集合,这些运算主要是从二维表的行的方向来进行的。
后者是从二维表的列的方向来进行运算的。
3.结构化程序设计所规定的三种基本控制结构是()
(分数:
2.00)
A.输入、处理、输出
B.树形、网形、环形
C.顺序、选择、循环 √
D.主程序、子程序、函数
解析:
[解析]顺序结构、选择结构和循环结构(或重复结构)是结构化程序设计的3种基本结构。
4.已创建好一个Frame类的对象myfrm,要为其设置标题,需要调用______方法?
()
(分数:
2.00)
A.getTitle()
B.setTitle() √
C.getState()
D.setState()
解析:
[解析]该题考查Frame常用的方法。
getTitle()是获取框架的标题;setTitle()是设置框架的标题;getState()是获取框架的状态;setState()是设置框架的状态。
5.下列说法错误的是()
(分数:
2.00)
A.与Swing组件库相比,AWT组件非常依赖底层平台
B.Component类是所有AWT组件的根
C.Swing组件可以完全取代AWT组件 √
D.容器用布局管理器来控制容器内组件的摆放
解析:
[解析]AWT组件通过它们各自的代理映射成平台特定的组件,因此非常依赖底层平台,而且AWT适合于简单的GUI程序,对于复杂的GUI项目不适用。
随着Java2的发布,Java提供了新的制作GUI程序的Swing组件库,Swing组件界面更精美,使用更稳定、通用,并且它们都是直接用Java代码绘制,从而更少地依赖低层平台。
目前,Java2仍然支持AWT组件,并且Swing组件不能取代AWT的全部类。
所以选项C是错误的。
组件(Component):
组件是一个可以用图形化的方式显示在屏幕上,并能与用户进行交互的对象。
Component类是所有AWT组件的根。
容器用布局管理器来控制容器内组件的摆放。
每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其尺寸大小时,就会调用其对应的布局管理器。
6.对于类的说法中,不正确的一项是()
(分数:
2.00)
A.一般类体的域包括常量、变量、数组等独立的实体
B.类中的每个方法都由方法头和方法体构成
C.Java程序中可以有多个类,但是公共类只有一个
D.Java程序可以有多个公共类 √
解析:
[解析]Java程序中可以有多个类,并不是可以有多个公共类,而公共类只能有一个。
所以选择D。
7.java.awt包提供了基本的java程序的GUI设计工具,包含构件、容器和()
(分数:
2.00)
A.布局管理器 √
B.数据传送器
C.图形和图象工具
D.用户界面构件
解析:
[解析]java.awt包提供了基本的java程序的GUI设计工具。
主要包括下述三个概念:
组件—Component;容器—Container;布局管理器—LayoutManage。
所以选项A是正确的。
8.软件生命周期中花费时间最多的阶段是()
(分数:
2.00)
A.详细设计
B.软件编码
C.软件测试
D.软件维护 √
解析:
[解析]软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。
本题中,详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。
9.线性表的顺序存储结构和线性表的链式存储结构分别是()
(分数:
2.00)
A.顺序存取的存储结构、顺序存取的存储结构
B.随机存取的存储结构、顺序存取的存储结构 √
C.随机存取的存储结构、随机存取的存储结构
D.任意存取的存储结构、任意存取的存储结构
解析:
[解析]该题考查的是线性表存储结构的基本知识。
顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式LOC(ai)=LOC(a1)+(i-1)L计算得到,从而实现了随机存取。
对于链式存储结构,要对某结点进行存取,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。
10.非空的循环单链表head的尾结点(由p所指向),满足()
(分数:
2.00)
A.p→next==NULL
B.p==NULL
C.p→next=head √
D.p=head
解析:
[解析]循环链表就是将链表的最后一个结点指向链表头结点(或第一个结点),即p→next=head。
11.对java的继承机制描述错误的是()
(分数:
2.00)
A.java支持多重继承 √
B.声明子类时使用extends子句
C.继承时子类可以添加新的方法和状态
D.继承是面向对象方法的一个重要基本特征
解析:
[解析]类继承也称作类派生,是指一个类可以继承其他类的所有数据成员和方法,并增加新的成员。
继承分为单继承和多继承两种形式。
单继承允许一个类可以有多个子类,但只能够有一个父类;多继承则允许一个类不仅可以有多个子类,还可以有多个父类。
但是需要注意一点,Java只支持单继承,但可以通过接口实现多继承的功能。
所以选项A的描述是错误的。
在Java中实现类继承需要使用extends关键字。
12.非字符输入流都是抽象类______的子类。
()
(分数:
2.00)
A.InputStream √
B.OutputStream
C.FilterInputStream
D.FilterOutputStream
解析:
[解析]该题考查Java中InputStream非字符输入流,所有的字节输入流都是从InputStream继承。
所以选项A是正确的。
13.在关系数据库中,对一个关系做投影操作后,新关系的元组个数将()
(分数:
2.00)
A.等于原来关系中的元组个数
B.大于原来关系中的元组个数
C.小于原来关系中的元组个数
D.不能确定元组个数 √
解析:
[解析]投影:
按字段(也称属性,比如学生关系(学号,姓名,出生年月,性别),学号、姓名……都是属性)选取一列或多列(一个二维表中所有元组在某一列或几列上截取出来)。
如果有重复的元组,投影操作去掉重复的元组,则得到的新关系的元组个数将会少于原来的元组个数;如果没有重复的元组,则新关系的元组个数等于原来的元组个数。
所以不能确定元组个数。
14.JDBC的模型对开放数据库连接(ODBC)进行了改进,它包含()
(分数:
2.00)
A.一套发出SQL语句的类和方法
B.更新表的类和方法
C.调用存储过程的类和方法
D.以上全部都是 √
解析:
[解析]JDBC提供了访问数据库的标准接口。
JDBC的模型对开放数据库连接(ODBC)进行了改进,它包含一套发出SQL语句、更新表和调用存储过程的类和方法。
所以选择D。
15.数据库的故障恢复一般是由()
(分数:
2.00)
A.数据流图完成的
B.数据字典完成的
C.DBA完成的 √
D.PAD图完成的
解析:
[解析]一旦数据库中的数据遭受破坏,需要及时进行恢复,RDBMS一般都提供此种功能,并由DBA负责执行故障恢复功能。
16.下面关于Java语言中的方法说法不正确的是()
(分数:
2.00)
A.Java中的方法的参数传递是传值调用,而不是地址调用
B.方法体是对方法的实现,包括变量声明和Java的合法语句
C.如果程序定义了一个或多个构造方法,在创建对象时,也可以用系统自动生成空的构造方法 √
D.类的私有方法不能被其子类直接访问
解析:
[解析]Java中的方法的参数传递是传值调用,而不是地址调用。
选项A正确;方法体是对方法的实现,包括变量声明和Java的合法语句,选项B正确;类的私有方法不能被其子类直接访问,选项D是正确的;选项C的说法不正确,在创建对象时,不可以用系统自动生成空的构造方法。
17.公有成员变量MAX是一个int型值,变量的值保持常数值100,则下列使用______选项的声明定义这个变量是正确的。
()
(分数:
2.00)
A.publicintMAX=100;
B.finalintMAX=100;
C.finalpublicintMAX=100;
D.publicfinalintMAX=100; √
解析:
[解析]该题考查的是修饰符的问题。
根据本题的意思要把MAX声明为一个公有成员变量,即public型。
而且变量的值是int型,保持常数值100,所以要使用final修饰符。
用final修饰后,变量的值不可再更改。
18.下列选项中,列出用于定义类成员的访问控制权的一组保留字是()
(分数:
2.00)
A.class,float,double,public
B.float,boolean,int,long
C.char,extends,float,double
D.public,private,protected √
解析:
[解析]public定义的是公有的,private定义的是私有的,定义为protected的方法和成员变量能被同一个包里的所有类所访问,就像默认修饰符package一样。
像float、double、int、long、char这些都不能定义类成员的访问控制权,所以本题的答案选择D。
19.Java中的线程模型包含()
(分数:
2.00)
A.一个虚拟处理机
B.CPU执行的代码
C.代码操作的数据
D.以上都是 √
解析:
[解析]在Java中线程的模型就是一个CPU、程序代码和数据的封装体。
Java中的线程模型包含3部分:
(1)一个虚拟的CPU。
(2)该CPU执行的代码。
(3)代码所操作的数据。
所以本题的答案选D。
20.软件设计中,有利于提高模块独立性的一个准则是()
(分数:
2.00)
A.低内聚低耦合
B.低内聚高耦合
C.高内聚低耦合 √
D.高内聚高耦合
解析:
[解析]模块的独立程度是评价设计好坏的重要度量标准。
衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。
一般优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
21.关于数组,下列说法中不正确的是()
(分数:
2.00)
A.数据是最简单的复合数据类型,是一系列数据的集合
B.数组的元素可以是值(基本数据类型)、对象或其他数组
C.定义数组时,必须分配内存 √
D.一个数组中的所有值都必须是相同的类型
解析:
[解析]在Java中,定义一个数组需要经过两个步骤:
先声明数组的类型,然后为数组分配内存空间。
在声明数组时并不为数组元素分配内存空间,如果希望声明的数组具有实用价值,那么就必须为它分配内存空间。
所以选项C的说法是不正确的。
22.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?
()
(分数:
2.00)
A.安全性
B.多线性 √
C.跨平台
D.可移植
解析:
[解析]安全性是指Java执行多层安全机制,以提供足够的安全保障的特点;跨平台和可移植是指Java一次编写到处运行;多线程反映了Java程序可同时执行多个任务的并行机制特点。
23.下列代码的执行结果是()
publicclassTest
publicstaticvoidmain(Stringargs[])
floatt=9.0h
intq=5;
System.out.println((t++)*(--q));
(分数:
2.00)
A.41
B.41.0
C.36
D.36.0 √
解析:
[解析]该题考查的是运算符,以及不同类型值之间的转换。
首先要知道一元运算符的用法,i++是i先运算,后i+1;而++i则是先i+1,后运算。
不同类型数进行运算时的转换,在运算时遵循这样一个转换规则byte→short→int→long→float→double和char→int。
所以本题的答案选择D。
24.下列描述中不正确的一项是()
(分数:
2.00)
A.import语句告诉Java用户需要哪个包(package)中的类
B.所有的类必须实例化,才能调用它的数据成员和方法 √
C.package语句用于将源文件存入所指定的包中
D.System类不可能实例化,它的所有方法都是通过类变量来调用的
解析:
[解析]import语句就是引入程序中用到的包中的类,选项A正确;并非所有的类必须实例化后才能调用它的数据成员和方法,抽象类不能被实例化,所以选项B错误;package语句用于指明将源文件存入哪个包中,选项C正确;System类是一个final类,即不能被实例化,它的所有方法都是通过类变量来调用的,选项D正确。
25.下面关于Applet的说法正确的是()
(分数:
2.00)
A.Applet也需要main方法
B.Applet必须继承自java.awt.Applet √
C.Applet能访问本地文件
D.Applet程序不需要编译
解析:
[解析]JavaApplet的字节码文件必须嵌入HTML的文件中并由负责解释HTML文件的WWW浏览器充当解释器来解释运行。
因此Applet不需要main方法,但必须继承java.awt.Applet类或javax.swing.JApplet,因为这两个类实现了Applet程序于浏览器的通讯。
26.在Applet生命周期中,下面哪个方法是在装载Applet时被调用?
()
(分数:
2.00)
A.destroy()
B.init() √
C.start()
D.stop()
解析:
[解析]本题考查Applet程序的生命周期和运行方式,是考试重点,应该牢记。
在Applet运行时,首先由浏览器调用init()方法,即在装载Applet时被调用,不是装载前。
所以选项B正确。
初始化完成后,将调用start()方法时Applet成为激活状态。
当Applet被覆盖时,可用stop()方法停止线程。
关闭浏览器时调用destroy(),彻底终止Applet,从内存中卸载并释放Applet的所有资源。
27.下列不属于软件调试技术的是()
(分数:
2.00)
A.强行排错法
B.集成测试法 √
C.回溯法
D.原因排除法
解析:
[解析]我们严格区分调试与测试,调试是已知有错误而来找错误,是被动的;测试有很多种,比如未发现错误但不能保证程序没错而来找BUG,还比如我们运行测试程序是否符合用户的要求,是主动的。
所以答案是选项B。
A、C、D都是具体的程序调试方法,而B是宏观的程序测试方法。
测试有单元测试、集成测试、确认测试、系统测试。
比如我们在进行单元测试时,发现程序有错误,我们再可以根据A、C、D的方法来找错误。
28.给出下列的程序代码片段,下列的______选项是不正确的。
()
①publicvoidcreate()
②Vectormy;
③my=newVector();
④
(分数:
2.00)
A.第二行的声明不会为变量my分配内存空间
B.第二行语句创建一个Vector类对象 √
C.第三行语句创建一个Vector类对象
D.第三行语句为一个Vector类对象分配内存空间
解析:
[解析]选项B是错误的,在第二行语句中只是声明一个对象变量my。
29.已知有定义:
Strings="story",下面哪一个表达式是合法的?
()
(分数:
2.00)
A.s+="books"; √
B.chare=s[1];
C.intlen=s.length;
D.Strings=s.toLowerCase()
解析:
[解析]选项A的表达式是正确的,它的作用是修改了字符串s。
选项B是错误的,它引用的字符串数组,而这没有定义字符串数组。
选项C也是不合法的,必须在s.length后面加一对小括号()才能表示取的是字符串的长度,而数组的长度的表示则是如此。
选项D中,不能再定义s变量,换一个变量名就是合法的了。
30.J2ME是为嵌入式和移动设计提供的Java平台,它的体系结构由______组成。
()
(分数:
2.00)
A.Profiles
B.Configuration
C.OptionalPackages
D.以上都是 √
解析:
[解析]J2ME的结构与传统的编程序语言和规范有很大的不同,它是由配置(Configuration)、概要(Profile)和可选包(OptionalPackage)三要素构成。
31.执行下列语句后,屏幕上显示i值为()
inti=8;
System.out.println(i>>=2);
(分数:
2.00)
A.8
B.2 √
C.10
D.100000
解析:
[解析]该题考查的是赋值运算符“>>=”,它的用法是:
操作数1>>=操作数2;表示的意思是:
操作数1=操作数1>>操作数2。
即将i的二进制右移2位,然后再赋给i。
所以,本题答案选择B。
32.下列关于try和catch子句的描述中,错误的一项是()
(分数:
2.00)
A.不同的catch代码段是不同的作用域,但是可以访问相互之间定义的局部变量 √
B.如果没有异常产生,则所有的catch代码段都被略过不执行
C.try代码段后跟有一个或多个catch代码段
D.异常总是由距离产生异常最近的匹配catch代码段处理
解析:
[解析]一个try块和它的catch子句形成了一个单元。
catch子句的范围受限于与之对应的try块所定义的语句。
一个catch子句不能捕获另一个try声明所引发的异常(除非是嵌套的try语句情况)。
33.下列说法正确的是()
(分数:
2.00)
A.Java中包的主要作用是实现跨平台功能
B.package语句只能放在import语句后面
C.包(package)由一组类(class)和界面(interface)组成 √
D.可以用#include关键词来标明来自其他包中的类
解析:
[解析]Java中的包是为了能够使用户可以方便地重复利用已经创建的类,Java提供了一个名为包的机制,包实际上是一组相关的类和接口的集合。
所以选项A错误;选项C正确;package语句将源文件存入指定的包中,该部分至多只有一句,必须放在源程序的第一句,如果没有该语句,则源文件存入当前目录下。
import语句导入需要的包或类,该部分可以有若干import语句或者没有,必须放在所有的类定义前。
所以选项B、D错误;
34.下列选项中,用于实现接口的关键字是()
(分数:
2.00)
A.interface
B.implements √
C.abstract
D.class
解析:
[解析]interface是定义接口时用的关键字;abstract是用来声明抽象类或方法的;class是声明一个类的关键字;implements是用来实现接口的关键字。
所以选项B是正确的。
35.在待排序的元素序列基本有序的前提下,效率最高的排序方法是()
(分数:
2.00)
A.冒泡排序 √
B.选择排序
C.快速排序
D.归并排序
解析:
[解析]从平均时间性能而言,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。
当序列中的记录基本有序或元素个数较少时,冒泡排序和简单选择排序为最佳排序方法,故本题答案应该为选项A。
二、填空题(总题数:
15,分数:
30.00)
36.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为【1】。
(分数:
2.00)
填空项1:
__________________ (正确答案:
n(n-1)/2)
解析:
[解析]冒泡排序法是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序。
假设线性表的长度为n,则在最坏的情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。
37.类是一个支持集成的抽象数据类型,而对象是类的【2】。
(分数:
2.00)
填空项1:
__________________ (正确答案:
实例)
解析:
[解析]将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。
所以,类是对象的抽象,对象则是其对应类的一个实例。
38.对软件是否能达到用户所期望的要求的测试称为【3】。
(分数:
2.00)
填空项1:
__________________ (正确答案:
有效性测试)
解析:
[解析]在软件测试中,对软件是否能达到用户所期望的要求的测试是有效性测试。
39.单元测试又称模块测试,一般采用【4】测试。
(分数:
2.00)
填空项1:
__________________ (正确答案:
白盒法)
解析:
[解析]软件测试过程一般按4个步骤进行,即单元测试,集成测试,验收测试和系统测试。
单元测试的技术可以采用静态分析和动态测试。
对动态测
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 JAVA 笔试 140