计算机二级JAVA分类模拟题177.docx
《计算机二级JAVA分类模拟题177.docx》由会员分享,可在线阅读,更多相关《计算机二级JAVA分类模拟题177.docx(18页珍藏版)》请在冰点文库上搜索。
计算机二级JAVA分类模拟题177
计算机二级JAVA分类模拟题177
选择题
1.在Applet的init()方法被调用后,接下来最先调用的方法是______。
A.run()
B.start()
C.stop()
D.destroy()
答案:
B
[解答]在Applet的init()方法被调用后,接下来最先调用的方法是start()方法。
2.下列选项中,用于实现接口的关键字是
A.interface
B.implements
C.abstract
D.class
答案:
B
[解答]interface是定义接口时用的关键字;abstract是用来声明抽象类或方法的;class是声明一个类的关键字;implements是用来实现接口的关键字。
所以选项B是正确的。
3.下列关于File类的叙述中,正确的是______。
A.File类是java.io.file包中的非流类
B.File类以系统相关的方式描述文件对象的属性
C.File类不能读/写文件
D.File类不能操作文件属性
答案:
C
[解答]File类是java.io包中的非流类,它以系统无关的方式描述文件对象的属性。
目录是Java中一种特殊的文件,File类封装对文件系统操作的功能,具有以下常用方法。
1)操作文件名方法:
getName()、getParent()、getParentFile()、getPath()、getCanonicalPath()、renameTo()、getCanonicalFile()、getAbsolutePath()和getAbsoluteFile()。
2)操作文件属性方法:
isDirectory()、isFile()、isAbsolute()、exists()、canRead()、canWrite()、hashCode()、setLastModified()和setReadOnly()。
3)操作文件信息方法:
delete()、deleteOnExit()、length()和lastModified()。
4)操作目录方法:
mkdir()、mkdirs()、list()和listRoots()。
从以上信息可以看出,File类可以操作文件名、文件属性、文件信息以及文件目录,但不能读写文件的具体内容。
4.已知:
int[]a=newint[100];在下列给出的数组元素中,非法的是
A.a[0]
B.a[1]
C.a[99]
D.a[100]
答案:
D
数组的下标值为0~(数组长度-1),此题中数组长度为100,最大下标只能是99,D选项的下标值越界。
5.栈和队列的共同点是______。
A.都是先进后出
B.都是先进先出
C.只允许在端点处插入和删除元素
D.没有共同点
答案:
C
[解答]栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。
二者的区别是:
栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表。
6.已知:
int[]a=newint[100];在下列给出的数组元素中,非法的是
A.a[0]
B.a[1]
C.a[99]
D.a[100]
答案:
D
[解答]本题考查Java中数组的概念。
对于数组的掌握,不能仅仅停留在概念上,更多的是能将所学的知识灵活运用。
int[]a=newint[100]定义了一个数组a,含有100个整型元素。
在Java中,数组元素的下标是从0开始的,因此上面定义的数组实际上下标是从0~99,所以选项D错误。
7.请阅读如下程序。
publicclassThreadTest
{
publicstaticvoidmain(Stringargs[])throwsException
{
inti=0;
Hellot=newHello();
______;
whlle(true)
{
System.out.println("GoodMorning"+i++);
if(i==2&&t.isAlive())
{
System.out.println("MainwaitingforHello!
");
t.join();//等待t运行结束
}
if(i==5)
break;
}
}
}
classHelloextendsThread
{
inti;
publicvoidrun(){
while(true)
{
System.out.println("Hello"+i++);
if(i==5)
break;
}
}
}
为使该程序正确执行,下划线处的语句应是______。
A.t.sleep()
B.t.yield()
C.t.interrupt()
D.t.start()
答案:
D
[解答]新建的线程不会自动运行,必须调用start()方法把嵌入在线程中的虚拟CPU置为可运行状态,这样该线程才可以被调度和运行。
8.下列程序的运行结果是______。
publicclassTestextendsThread{
publicstaticvoidmain(String[]args){
Threadt=newThread();
t.start();
}
publicvoidrun(){
System.out.println("Hello");
}
}
A.程序不能通过编译,因为没有import语句将Thread类引入
B.程序不能通过编译,因为Test类没有实现Runnable接口
C.程序通过编译,且运行正常,没有任何输出
D.程序通过编译,且运行正常,打印出一个“HeIlo”
答案:
C
[解答]程序中通过继承Thread类来创建线程。
而Java中新创建的线程不会自动运行,必须调用线程的start()方法,才能运行该线程。
9.以下不属于数据库系统模型的是。
A.选择型数据库系统
B.关系型数据库系统
C.层次型数据库系统
D.网状型数据库系统
答案:
A
10.结构化方法的核心和基础是。
A.结构化分析方法
B.结构化设计方法
C.结构化编程方法
D.结构化程序设计理论
答案:
D
[解答]结构化方法是软件开发方法之一。
它包括结构化分析方法、结构化设计方法、结构化编程方法,而它的基础和核心是结构化程序设计理论。
11.下列关于Java语言特点的叙述中,错误的是______。
A.Java是面向过程的编程语言
B.Java支持分布式计算
C.Java是跨平台的编程语言
D.Java支持多线程
答案:
A
[解答]Java语言特点:
简单易学、利用面向对象技术、分布式计算、健壮性、安全性、跨平台、可移植性、解释执行、高性能、多线程、动态性、可提供Applet应用。
12.当方法遇到异常又不知如何处理时,下列做法正确的是
A.捕获异常
B.抛出异常
C.声明异常
D.嵌套异常
答案:
C
13.下列数据中______是长整型数据。
A.123.321f
B.0892
C.892L
D.0x234
答案:
C
14.下列关于Java程序结构描述不正确的是
A.Java是区分大小写的
B.如果.java文件包含一个公共类,那么它必须使用与公共类名相同的文件名
C.Java程序不一定都必须有main()方法,比如Applet就不需要
D.源文件可以有多个public类,其他类的数量也不限
答案:
D
15.Applet类的直接父类是
A.Component类
B.Container类
C.Frame类
D.Panel类
答案:
D
16.使得线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是______。
A.time()
B.yield()
C.load()
D.min()
答案:
B
[解答]本题考查线程阻塞的概念。
yield()方法使得线程放弃当前分得的CPU时间,但是不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间。
调用yield()的效果等价于调度程序认为该线程已执行了足够的时间从而转到另一个线程。
17.下列______不是链式存储结构的主要特点。
A.逻辑上相邻的结点,物理上不必相邻
B.查找迅速快捷
C.插入、删除灵活方便
D.存储空间利用率低
答案:
B
[解答]链式存储结构的主要特点有:
①结点中除自身信息外,还有表示链接信息的指针域,因此存储密度小、存储空间利用率低;②逻辑上相邻的结点物理上不必相邻;③插入、删除操作灵活方便。
18.下列叙述中正确的是______。
A.在模块化程序设计中,一个模块应尽量多地包括与其他模块联系的信息
B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节
C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则
D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法
答案:
C
[解答]选项A错误,在模块化设计中,要求将一个大程序按人们能理解的大小规模进行分解,使每个模块都能易于理解,各模块的功能尽量单一,各模块之间的联系尽量的少。
选项B错误,自顶向下、逐步细化的设计过程土要包括两个方面:
将复杂问题的解法分解和细化成由若干模块组成的层次结构;将一个模块的功能逐步分解细化为一系列的处理步骤,直到某种程序设计语言的语句或某种机器指令。
即在自顶向下、逐步细化的设计过程中,是按照先全局后局部、先整体后细节、先抽象后具体的方法设计程序。
选项D错误,由于在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则,所以,在程序设计过程中,结构化程序设计方法与模块化程序设计方法是要同时采用的。
选项C为正确答案。
19.在面向对象的方法中,______描述的是具有相似属性与操作的一组对象。
A.属性
B.事件
C.方法
D.类
答案:
D
类描述的是具有相似属性与操作的一组对象,类是具体对象的实例。
20."++"运算符的操作数个数是______。
A.1个
B.2个
C.3个
D.4个
答案:
A
[解答]按照操作数的数目划分,运算符可以分为:
一元运算符:
++,-,+,-;二元运算符:
+,-,>:
三元运算符:
?
:
。
简单点儿说就是有几个操作数就是几元运算符;反过来,是几元运算符就有几个操作数。
所以本题正确答案是选项A。
21.下列命令中用于激活系统守候进程以便能够在Java虚拟机上注册和激活对象的是______。
A.rmic
B.rmiregistry
C.rmid
D.serialver
答案:
C
[解答]Java语言的RMI包括:
rmic、rmiregistry、rmid、serialver。
其中,命令rmid用于激活系统守候进程,以便能够在Java虚拟机上注册和激活对象。
22.Java程序的并发机制是______。
A.多线程
B.多接口
C.多平台
D.多态性
答案:
A
[解答]Java是通过多线程实现并发机制的。
多线程是指一个程序中包含多个执行流,多线程程序设计的含义是可以将程序任务分成几个并行的子任务。
23.能将程序补充完整的选项是
classPerson
{
privateinta;
publicintchange(intm){returnm;}
}
publicclassTeacherextendsPerson
{
publicintb;
publicstaticvoidmain(Stringarg[])
{
Personp=newPerson();
Teachert=newTeacher();
inti;
_____
}
}
A.i=m
B.i=b
C.i=p.a
D.i=p.change(50)
答案:
D
[解答]本题考查类的声明。
选项A中m没有被声明过,不能使用:
选项B中虽然b是类Teacher的public成员变量,但在静态方法中,不能使用类中的非静态成员:
选项C中a是类Person的private成员,在类外不能直接引用:
选项D中change(intm)方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个血型变量。
24.下列java组件中,不属于容器的是
A.Panel
B.Window
C.Frame
D.Label
答案:
D
[解答]本题考查对,java组件中容器的基本知识的理解。
选项A错误,Panel类派生自容器类Container,属于容器的一种。
选项B错误,Window类也派生自容器类Container,也属于容器的一种。
选项C错误,Frame类派生自Window类,也是一种容器。
选项D正确,Label组件是标签组件,不属于容器。
故本题答案选项是D。
25.下列变量的定义中,错误的是______。
A.intx=3;
B.floatf;d;
C.Strings="Hello!
"
D.booleanb=true;
答案:
B
[解答]同时定义多个变量可以用逗号分隔,如floatf,d;。
26.循环链表的主要优点是
A.不再需要头指针了
B.从表中任一结点出发都能访问到整个链表
C.在进行插入、删除运算时,能更好的保证链表不断开
D.已知某个结点的位置后,能够容易的找到它的直接前件
答案:
B
解析:
循环链表就是将单向链表中最后一个结点的指针指向头结点,使整个链表构成一个环形,这样的结构使得从表中的任一结点出发都能访问到整个链
27.数据库应用系统中的核心问题是______。
A.数据库设计
B.数据库系统设计
C.数据库维护
D.数据库管理员培训
答案:
A
[解答]在数据库应用系统中的一个核心问题,就是设计一个能满足用户要求、性能良好的数据库。
因此,数据库设计是数据库应用系统中的核心问题。
28.阅读下列代码段。
classTestimplementsRunnable{
publicintrun(){
inti=0;
while(true){
i++;
System.out.println("i="+i);
}
}
}
上述代码的编译结果是______。
A.程序通过编译并且run()方法可以正常输出递增的i值
B.程序通过编译,调用run()方法将不显示任何输出
C.程序不能通过编译,因为while的循环控制条件不能为“true”
D.程序不能通过编译,因为run()方法的返回值类型不是void
答案:
D
[解答]while的循环控制条件可以为true,run()方法没有返回值,所以不能是int型,故此程序不能通过编译。
29.以下函数按每行8个输出数组中的数据:
voidfun(int*w,intn)
{inti;
for(i=0;i<n;i++)
{______
printf("%d",w[i]);
}
printf("\n");
}
下划线处应填入的语句是。
A.if(i/8==O)printf("\n");
B.if(1/8==0)continue;
C.if(i%8==0)printf("\n");
D.if(i%8==0)continue;
答案:
C
30.在Java中,用package语句说明一个包时,该包的层次结构必须是______。
A.与文件的结构相同
B.与文件目录的层次相同
C.与文件类型相同
D.与文件大小相同
答案:
B
[解答]本题考查Java包的概念。
Java采用包来管理类名空间,为编程提供一种命名机制,也是一种可见性限制机制。
定义一个包要用package关键字,用package语句说明一个包时,该包的层次结构必须与文件目录的层次相同。
否则,在编译时可能出现查找不到的问题,所以选项B正确。
31.对鼠标单击按钮操作进行事件处理的接口是______。
A.MouseListener
B.WindowListener
C.ActionListener
D.KeyListener
答案:
A
[解答]WindowListener是监听窗口事件的接口;ActionListener是监听按钮、文本框、列表框等组件的动作事件的接口;KeyLitener是监听键盘事件的接口。
因此,本题选择A。
32.自定义异常类的父类可以是______。
A.Error
B.VirtuaMachineError
C.Exception
D.Thread
答案:
C
[解答]自定义异常类都是Throwable及其子集,所以只有C可以做它的父类。
33.如要求读取大文件的中间一段内容,最方便的是采用下列哪种流来操作?
A.FileStream
B.PipeStream
C.RandomStream
D.FilterStream
答案:
C
34.下列叙述中正确的是()。
A.在面向对象的程序设计中,各个对象之间具有密切的关系
B.在面向对象的程序设计中,各个对象都是公用的
C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小
D.上述3种说法都不对
答案:
C
[解答]面向对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系。
35.下列关于对象删除的说法中,正确的是。
A.只有当程序中调用System.gc()方法时才能进行垃圾收集
B.Java中的对象都很小,一般不进行删除操作
C.Java把没有引用的对象作为垃圾收集起来并释放
D.必须由程序员完成对象的清除
答案:
C
[解答]Java运行时,系统通过垃圾收集器周期性地释放对象所使用的内存,完成对象的清除。
当不存在对一个子对象的引用时,该对象成为一个无用对象。
Java的垃圾收集器自动扫描对象的动态内存区,对被引用的对象加标记,然后把没有引用的对象作为垃圾收集起来并释放。
垃圾收集器作为一个线程运行。
当系统的内存用尽或程序中调用System.gc()要求进行垃圾收集时,垃圾收集线程与系统同步运行。
否则垃圾收集器在系统空闲时异步地执行。
36.有以下程序:
voidmain()
{inta=1,b;
for(b=1;b<10;b++)
{if(a>=8)break;
if(a%2==1){a+=5;continue;}
a-=3:
}
printf("%d\n",b);
}
程序运行后输出的结果是______。
A.3
B.4
C.5
D.6
答案:
B
37.下列选项中哪个方法可以判断线程是否处于活动状态?
A.blooeanisAlive()
B.ThreadcurrentThread()
C.StringgetName()
D.staticbooleaninterrupted()
答案:
A
38.下列的变量定义中,错误的是______。
A.int_a=123;
B.inti=Integer.MAX_VALUE;
C.longj=12345678900L;
D.statici=100;
答案:
D
[解答]选项A、B、C中定义的都正确,选项D中static是定义方法的,而不能定义变量。
39.下列程序的运行结果是______。
publicstaticArrayTest{
publicstaticvoidmain(String[]args){
intdata[][]={{1,2,3,4,5},{11,22,33,44,55},{111,222,333,444,555}};
for(inti=0;i<data.length;i++){
if(i%2==0){
System.out.println(data[i][4]+"");
}
}
}
}
A.5555
B.555
C.555
D.55
答案:
A
[解答]二维数组的长度是3,这里从i=0开始算,当i%2的时候才打印结果。
i的值为0、1、2,所以当i=0和i=2时会打印,打印的结果是当前那个一维数组元素中下标为4的元素,即第五个元素,因此分别是5和555。
40.需求分析阶段最后提供的文档是软件的______。
A.功能说明书
B.加工说明书
C.可行性分析报告
D.需求规格说明书
答案:
D
[解答]选项A、B、C都是需求分析前段时间的文档。
需求分析阶段最后成果就是软件需求规格说明书,它是软件开发的重要文档之一。