点击领取>>全国计算机等级考试真题题库全套最新考试资料
1. Java对I/O访问所分享的同步处理机制是( )。
A.字节流
B.过滤流
C.字符流
D.压缩文件流
参考解析:
B。【解析】本题考查Java I/O流中的过滤流。过滤流是Java对I/O访问分享的同步处理机制,保证某时刻只有一个线程访问一个I/O流。过滤流是FilterInputStream和FiherOutputStream。因此,本题的正确答案是选项B。
2. 为了支持压栈线程与弹栈线程之间的交互与同步,应
在下画线处填入的选项是( )。
public class StackTest{
private int idx=0;
private int[]data=new int[8]
public void push(int i){
synchronized(this){
;
data(idx)=i:
idx++:
}
}
}……
A.this.notify()
B.interrupt()
C.this.wait()
D.sleep()
参考解析:
A。【解析】当一个线程使用的同步方法中用到某个变量,而且需要其他线程修改此变量后才能复合本线程的需要,那么可以使用wait()方法。wait()方法的作用是使本线程等待,并允许其他线程使用此同步方法。当其他线程使用完后应使用notify()或者notify All()方法允许其他线程使用此同步方法。Interrupt()方法的作用是在run方法执行完之前就消灭此线程,而sleep()方法的作用是延迟一段时间后执行。因为本题是为了支持压栈线程与弹栈线程之间的交互与同步,所以选A。
3. 下面for循环语句的执行结果是( )。
for(int j=10;j>3;j--)
if(j%3 1=O)
j--;
--j;
--j;
System.OUt.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次,j的值为6,执行if语句,i%3=0不满足条件,继续向下执行2次- -j,j的值为4。
4. 需求分析阶段的任务是( )。
A.软件开发方法
B.软件开发工具
C.软件开发费用
D.软件系统功能
参考解析:
D。【解析】需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。
5. 在E-R图中,表示实体联系的框是( )。
A.矩形
B.椭圆形
C.菱形
D.正方形
参考解析:
C。【解析】本题考察E-R的关系,在E-R图中,用菱形来表示实体之间的联系。矩形表示实体集,椭圆形表示属性。
6. 下列叙述中,错误的是( )。
A.Java中,方法的重载是指多个方法可以共享同一个名字
B.Java中,用abstract装饰的类称为抽象类,它不能实例化
C.Java中,接口是不包含成员变量和方法实现的抽象类
D.Java中,构造方法可以有返回值
参考解析:
D。【解析】构造方法是一种特殊的方法,是为对象初始化操作编写的方法,用它来定义对象的初始状态。Java中的每个类都有构造方法,它也是由方法名、参数和方法体组成的。构造方法的名字必须与类名相同,并且构造方法不返回任何数据。
7. 下列描述中,错误的是( )。
A.Java要求编程者管理内存
B.Java的安全性体现在多个层次上
C.Applet要求在支持Java的浏览器上运行
D.Java有多线程机制
参考解析:
A。【解析】为了充分利用资源,Java有一个系统级的线程,用来对内存的使用进行跟踪,它可以在系统空闲时对不用的内存空间进行回收,从而使程序员从繁忙的内存管理中解放出来。
8. 下面程序段的输出结果是( )。
public class Test{
public static void main(String args[]){
int X,y;
x=(int)Math.sqrt(5)/2+(int)Math.random()*5/2;
y=(int)Math.sqrt(3)/2+(int)Math.random()*3/2;
if(x>v)
System.OUt.println("x>y");
elseif(x= =y)
System.out.println("x=Y");
else
System.out.println("x<y"):
}
}
A.x>y
B.x=Y
C.x<y
D.编译错误
参考解析:
A。【解析】本题考查Java语言中if-else分支结构和几个标准函数语句的用法。本题中赋值号右边的两个表达式分别求两个标准函数的值,再进行整除,判断出x与y的大小。Math.sqrt计算一个数的平方根,Math.random()输出[0,1)之间的随机数,本题中经过两条赋值语句后,x=1,y=0。进入分支结构后,满足if条件执行相应System. out.println("x>y");操作。
9. 下列标识符(名字)命名原则中,正确的是( )。
A.类名的首字母小写
B.变量和方法名的首字母大写
C.接口名的首字母小写
D.常量完全大写
参考解析:
D。【解析】Java命名的基本原则包括如下几条:_、$不作为变量名、方法名的开头;变量名、方法名首单词小写,其余单词只有首字母大写;接口名、类名首单词第一个字母大写;常量完全大写。根据上述命名规则,选项D的说法是正确的。
10. 在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是( )。
A.import
B.package
C.include
D.packet
参考解析:
A。【解析】定义一个包要用package关键字,使用一个包中的类时,首先要使用import导入这些类所在的包。include为C语言的包含头文件的关键字,不是Java的。
11. 下列关于Java语言特点的叙述中,错误的是( )。
A.Java是面向过程的编程语言
B.Java支持分布式计算
C.Java是跨平台的编程语言
D.Java支持多线程
参考解析:
A。【解析】Java是新一代编程语言,具有很多特点:简单易学;利用面向对象技术;分布式计算;健壮性(鲁棒性);安全性;跨平台(即体系结构中立);可移植性;解释执行;高性能;多线程;动态性。因此,本题的正确答案是A。
12. 一个栈的初始状态为空,首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C。D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为( )。
A.54321ABCD
B.5ABCD4321
C.DCBAl2345
D.1DCBA2345
参考解析:
D。【解析】栈是限制仅在表的一端进行插入和删除的运算的线性表,通常称插入、删除的这一端为栈顶,另一端称为栈底。
13. 下列关于Java对import语句规定自叙述中,错误的是( )。
A.在Java程序中import语句可以有多个
B.在Java程序中import语句可以没有
C.在Java程序中import语句必须有一个
D.在Java程序中import语句必须引入在所有类定义之前
参考解析:
C。【解析Java程序中使用import关键字导入一个包中的类。在一个Java源程序中,可以有0个或多个import语句,但是必须在所有类定义之前引入标准类。因此,本题中选项C的说法是错误的。
14. Java语言中如果要使用某个包中的类时,需要使用 ( )导人。
A.inport
B.outport
C.import
D.input
参考解析:
C。【解析】本题考查包的导入和使用。首先用package语句说明一个包,该包的层次结构必须与文件目录的层次相同,否则,在编译时可能出现找不到包的问题。Java语言中java.lang包是编译器自动导入,其他包中的类必须用import导入。
15. 下列选项成员变量声明正确的是( )。
A.public protected final int i;
B.abstract class Fl{…}
C.private double height;
D.double weight()
参考解析:
C。【解析】本题考查对成员变量的声明。成员变量的声明格式为:修饰符type变量名;其中type可以是java语言中的任意数据类型,而修饰符可以是public、protected, private,static,final,transient,volatile等。选项A错误,成员变量不能同时声明成public和protected。选项B是类的声明格式,并不是成员变量的声明。成员变量声明应以";"结尾,选项D错误。选项C声明了一个私有的double型成员变量,为正确答案。
16. Java中的字符变量在内存中占位(bit)为( )。
A.4
B.8
C.16
D.24
参考解析:
C。【解析】字符变量在内存中占16位二进制数位,int变量在内存中占32位二进制数位。
17. 下列数据结构中,属于非线性结构的是( )。
A.循环队列
B.带链队列
C.二叉树
D.带链栈
参考解析:
C。【解析】线性结构是指数据元素只有一个直接前驱和直接后继,线性表是线性结构,循环队列、带链队列和栈是指对插入和删除有特殊要求的线性表,是线性结构。而二叉树是非线性结构。
18. 设有一个已按各元素的值排好序的顺序表(长度大于2),现分别用顺序查找法和二分查找法查找与给定值k相等的元素,比较的次数分别是s和b,在查找不成功情况下s和b的关系是( )。
A.s=b
B.s>b
C.s<b
D.s>=b
参考解析:
B。【解析】顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到结点的关键字和给定值k进行比较,若当前扫描到结点的关键字与k相等,则查找成功;若扫描结束后,仍未找到关键字等于k的结点,则查找失败。二分查找法是一种效率较高的查找方法,要求线性表是有序表。基本思想是:首先将待查的k值和有序表R[0]~R[n-1]的中间位置mid上的结点的关键字进行比较,若相等,则查找完成;否则,若R[mid].key>k,则说明待查找的结点只可能在左子表R[0]~R[mid-1]中,我们只需在左子表中继续进行折半查找,若R[mid].key<k,则说明待查找的结点只可能在右子表R[mid+1]~R[n-1]中,我们只需在右子表中继续进行折半查找。这样,经过一次关键字比较就缩小一半的查找范围。对顺序查找而言,如果查找失败,比较次数为n次;对二分查找而言,如果查找失败,比较次数为log2(n+1)次。
19. 在Java语言中,封闭是借助于( )实现的。
A.对象
B.类
C.数组
D.成员
参考解析:
B。【解析】Java是一个完全面向对象的语言,利用类把对象的属性和方法封装在一起,只对外界分享有限的接口。
20. 代码System.out.println(066)的输出结果是( )。
A.12
B.36
C.54
D.66
参考解析:
C。【解析】066代表8进制数据的66等于十进制的54。
21. 对于给出的一组权w={10,12,16,21,30},通过霍夫曼算法求出的扩充二叉树的带权外部路径长度为( )。
A.89
B.189
C.200
D.300
参考解析:
C。【解析】其带权外部路径长度为:2×16+2×21+2×30+3×10+3×12=200。
22. 栈中允许进行插入和删除的一端称为( )。
A.栈顶
B.栈底
C.栈端
D.栈尾
参考解析:
A。【解析】栈是限定在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端叫做“栈顶”,不允许插入和删除的一端叫做“栈底”。
23. 当启动Applet程序时,首先调用的方法是( )。
A.stop()
B.init()
C.start()
D.destroy()
参考解析:
B。【解析】本题考查Applet程序的运行方式。在Applet运行时,首先由浏览器调用init()方法,所以选项B正确。初始化完成后,将调用start()方法使Applet成为激活状态。当Applet被覆盖时.可用stop()方法停止线程。关闭浏览器时调用destroy(),彻底终止Applet,从内存中卸载并释放该Applet的所有资源。Applet的生命周期及其运行方式是考试重点,应该牢记。
24. 下列不属于表达式语句的是( )。
A.++i;
B.--j;
C.b#a;
D.b*=a;
参考解析:
C。【解析】前两项是自加减运算,最后一项是b=b*a 。
25. 开发软件时对提高开发人员工作效率至关重要的是( )。
A.操作系统的资源管理功能
B.先进的软件开发工具和环境
C.程序员的数量
D.计算机的并行处理能力
参考解析:
B。【解析】先进的软件开发工具和环境对提高开发人员工作效率是至关重要的。
26. 下列关于Test类的定义中,正确的是( )。
A.class Test implements Runnable{public void run(){}Dublic void someMethod[]{}}
B.class Test implements Runnable(puIblic void run(); }
C.class Test implements Runnable(Dublic void someMethod[]; }
D.class Test implements Runnable(public void someMethod(){}}
参考解析:
A。【解析】java中实现多线程的方法之一就是实现Runnable接口中的run方法,把实现Runnable接口的子类对象传递给Thread类的构造函数。
27. 算法的空间复杂度是指( )。
A.算法程序的长度
B.算法程序中的指令条数
C.算法程序所占的存储空间
D.算法执行过程中所需要的存储空间
参考解析:
D。【解析】算法的空间复杂度,是指执行这个算法所需的存储空间。算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间及算法执行过程中所需要的额外空间。
28. 下列说法中,正确的一项是( )。
A.Java语言是以类为程序的基本单位的
B.Java语言是不分大小写的
C.多行注释语句必须以//开始
D.在Java语言中,类的源文件名和该类名可以不相同
参考解析:
A。【解析】本题考查考生对Java语言概念的理解,属于考试重点内容,历次考试都有相关内容,应该理解这些基本概念。Java语言是分大小写的,这一点在初学Java时需要特别注意,这一点与C语言有所不同,B选项错误。以//开始的应该是单行的注释语句,因此选项C错误。Java中有三类注释语句:文档注释/**…*/,被javadoc处理,可以建立类的一个外部说明性文件;C语言注释风格/*…*/,用于去掉当前不再使用但仍想保留的代码等;单行注释//,格式上要求注释符//后必须紧跟一个空格,然后才是注释信患。Java程序源文件名必须和public类名相同,否则编译出错,因此选项D错误。只有选项A说法正确。
29. 下列代码中的内部类名是( )。
import java.awt.event.*;
lapoct javax.swin9.*;
class TalkingClock(
public void start(int interval,final boolean beep){
ActionListener listener=new
ActionListener(){
public void actionPerformed(ActionEvent e-
vent){
…
}
}
Timer t=new Timer(interval,listener);
start();
}
}
A.Timer
B.ActionListener
C.1istener
D.匿名
参考解析:
B。【解析】内部类就是在类内部重新定义的新类,该类能连接外部类,但是不能和外部类进行通信。AetionL.istenser有自己的类方法体,而Timer没有,只是实例化了一个Timer对象。
30. 下列操作中,不属于Applet安全限制的是( )。
A.加载本地库
B.读写本地文件系统
C.运行本地可执行程序
D.与同一个页面中的Applet通信
参考解析:
D。【解析】本题考查Applet的安全限制。为了保护本地主机,很多浏览器对Applet作了安全限制:Applet不能运行任何本地可运行程序;禁止加载本地库或方法;禁止读、写本地计算机的文件系统;禁止与分享Applet之外的任何主机建立网络连接;不能读取某些系统信息。但Applet是可以与同一个页面中的Applet进行通信的,所以选项D不属于Applet安全限制。
31. JScrollPane面板的滚动条是通过哪个对象来实现?( )
A.JViewport
B.JSplitPane
C.JTabbedPane
D.JPanel
参考解析:
A【解析】视口(ViewPort)类的对象是一种特殊的对象,主要用于查看构件,滚动条就是跟踪移动视口,并且同时在容器中显示其查看的内容的。
32. 下列选项中,不能输出100个整数的是( )。
A.for(int i=0;i<100;i++) System.out.println(i);
B.int i=0; do{ System.out.println(i); i++: }while(i<100);
C.int i=0: while(i<100){System.out.println(i); i++: }
D.int i=0: while(i<100){ i++: if(i<100)continue: System.out.println(i); }
参考解析:
D。【解析]continue语句的作用是不执行循环体后面的语句直接进入循环判断阶段。所以本题选D。
33. 如果入栈序列为CEDB,以下哪一个是从栈中删除元素的序列?( )
A.BED
B.BDE
C.BEDC
D.BDEC
参考解析:
D。【解析】根据栈的先进后出原则,可知从栈中删除的元素的序列为BDEC。
34. 下列程序片段中,能通过编译的是( )。
A.public abstract class Animal{ public void speak();}
B.public abstract class Animal{ public void speak(){);}
C.public class Animal{ pubilc abstract void speak();}
D.public abstract class Animal{ pubile abstract void speak(){};}
参考解析:
A。【解析】Java中一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。如果一个类中含有abstract方法,那么这个类必须用abstract来修饰(abstract类也可以没有abstract方法)。有abstract方法的父类只声明,由继承它的子类实现。所以选A。
35. 下列程序的输出结果是( )。
Public class Test{
Public static void main(String[]args){
int[]array=(2,4,6,8,10);
int size=6;
int result=-l:
try{
for(int i=0;i<size&&result= =-1:)
if(array[i]= =20)result=i:
}
catch(ArithmeticException e){
System.out.println("Catch---1");
}
catch(ArraylndexOutOfBoundsException e){
System.out.println("Catch---2"):
}
catch(Exception e){
System.out.println("Catch---3"):
}
}
A.Catch---1
B.Catch---2
C.Catch---3
D.以上都不对
参考解析:
B。【解析】本题考查了数组及for循环。本题数组定义的值为5,下标从0~4。数组越界,所以答案为B。
36. 下列关于正则表达式的说法,不正确的是( )。
A.在J2SE l.4中的正则表达式包中有一个Pattern类
B.在J2SE l.4中的正则表达式包中有一个Macher类
C.在J2SE l.4中的正则表达式包名为java.util.regex
D.以上说法都不对
参考解析:
C。【解析】本题考查J2SE l.4中的正则表达式。记忆型题目,没有太大难度,考生记住即可。java.util.regex和java.net.URL类相结合,用于网络上的字符输入流的模式字符串搜索中。
37. 下列叙述中,错误的是( )。
A.内部类的名称与定义它的类的名称可以相同
B.内部类可用abstract修饰
C.内部类可作为其他类的成员
D.内部类可访问它所在类的成员
参考解析:
38. 假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为( )。
A.50
B.19
C.1
D.20
参考解析:
B。【解析】当前栈中的所有元素的个数就是用栈底指针减去栈顶指针。
39. 数据流程图(DFD图)是( )。
A.软件概要设计的工具
B.软件详细设计的工具
C.结构化方法的需求分析工具
D.面向对象方法的需求分析工具
参考解析:
D。【解析】数据流程图是一种结构化分析描述模型,用来对系统的功能需求进行建模。
40. 下列不属于Swing中构件的是( )。
A.JPanel
B.JTable
C.Menu
D.JFrame
参考解析:
C。【解析]JPanel是Swing的中间容器;JTable是Swing中可编辑信息的构件;JFrame是Swing的顶层容器。
下载仅供下载体验和测试学习,不得商用和正当使用。
下载体验
点击下载