1、-各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有-2013年全国计算机等级考试二级JAVA上机模拟试卷(4)总分:100分 及格:60分 考试时间:120分选择题(每小题1分,共40分)(1)Java对IO访问所提供的同步处理机制是()。 A. 字节流B. 过滤流C. 字符流D. 压缩文件流 (2)为了支持压栈线程与弹栈线程之间的交互与同步,应 在下画线处填入的选项是()。 public class StackTestprivate int idx=0; private intdata=new int8public void push(int i)synchronize
2、d(this) ; data(idx)=i: idx+: A. thisnotify()B. interrupt()C. thiswait()D. sleep()(3)下面for循环语句的执行结果是()。 for(int j=10;j>3;j-) if(j3 1=O)j-; -j; -j; SystemOUtprintln(j); A. 63B. 74C. 62D. 73(4)需求分析阶段的任务是()。 A. 软件开发方法B. 软件开发工具C. 软件开发费用D. 软件系统功能 (5)在E-R图中,表示实体联系的框是()。 A. 矩形B. 椭圆形C. 菱形D. 正方形 (6)下列叙述中,错
3、误的是()。 A. Java中,方法的重载是指多个方法可以共享同一个名字B. Java中,用abstract装饰的类称为抽象类,它不能实例化C. Java中,接口是不包含成员变量和方法实现的抽象类D. Java中,构造方法可以有返回值 (7)下列描述中,错误的是()。 A. Java要求编程者管理内存B. Java的安全性体现在多个层次上C. Applet要求在支持Java的浏览器上运行D. Java有多线程机制 (8)下面程序段的输出结果是()。 public class Testpublic static void main(String args)int X,y; x=(int)Math
4、sqrt(5)2+(int)Mathrandom()*52; y=(int)Mathsqrt(3)2+(int)Mathrandom()*32; if(x>v)SystemOUtprintln(x>y); elseif(x= =y)Systemoutprintln(x=Y); elseSystemoutprintln(x<y): A. x>yB. x=YC. x<yD. 编译错误 (9)下列标识符(名字)命名原则中,正确的是()。 A. 类名的首字母小写B. 变量和方法名的首字母大写C. 接口名的首字母小写D. 常量完全大写 (10)在Java中,若要使用一个包中
5、的类时,首先要求对该包进行导入,其关键字是()。 A. importB. packageC. includeD. packet(11)下列关于Java语言特点的叙述中,错误的是()。 A. Java是面向过程的编程语言B. Java支持分布式计算C. Java是跨平台的编程语言D. Java支持多线程 (12)一个栈的初始状态为空,首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C。D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为()。 A. 54321ABCDB. 5ABCD4321C. DCBAl2345D. 1DCBA2345(13)下
6、列关于Java对import语句规定自叙述中,错误的是()。 A. 在Java程序中import语句可以有多个B. 在Java程序中import语句可以没有C. 在Java程序中import语句必须有一个D. 在Java程序中import语句必须引入在所有类定义之前 (14)Java语言中如果要使用某个包中的类时,需要使用 ()导人。 A. inportB. outportC. importD. input(15)下列选项成员变量声明正确的是()。 A. public protected final int i;B. abstract class FlC. private double hei
7、ght;D. double weight()(16)Java中的字符变量在内存中占位(bit)为()。 A. 4B. 8C. 16D. 24(17)下列数据结构中,属于非线性结构的是()。 A. 循环队列B. 带链队列C. 二叉树D. 带链栈 (18)设有一个已按各元素的值排好序的顺序表(长度大于2),现分别用顺序查找法和二分查找法查找与给定值k相等的元素,比较的次数分别是s和b,在查找不成功情况下s和b的关系是( )。 A. s=bB. s>bC. s<bD. s>=b(19)在Java语言中,封闭是借助于()实现的。A. 对象B. 类C. 数组D. 成员 (20)代码Sy
8、stemoutprintln(066)的输出结果是()。 A. 12B. 36C. 54D. 66(21)对于给出的一组权w=10,12,16,21,30,通过霍夫曼算法求出的扩充二叉树的带权外部路径长度为()。 A. 89B. 189C. 200D. 300(22)栈中允许进行插入和删除的一端称为()。 A. 栈顶B. 栈底C. 栈端D. 栈尾 (23)当启动Applet程序时,首先调用的方法是()。 A. stop()B. init()C. start()D. destroy()(24)下列不属于表达式语句的是()。 A. +i;B. -j;C. b#a;D. b*=a; (25)开发软件
9、时对提高开发人员工作效率至关重要的是()。 A. 操作系统的资源管理功能B. 先进的软件开发工具和环境C. 程序员的数量D. 计算机的并行处理能力 (26)下列关于Test类的定义中,正确的是()。 A. class Test implements Runnablepublic void run()Dublic void someMethodB. class Test implements Runnable(puIblic void run(); C. class Test implements Runnable(Dublic void someMethod;D. class Test imp
10、lements Runnable(public void someMethod()(27)算法的空间复杂度是指()。 A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间 (28)下列说法中,正确的一项是()。 A. Java语言是以类为程序的基本单位的B. Java语言是不分大小写的C. 多行注释语句必须以开始D. 在Java语言中,类的源文件名和该类名可以不相同 (29)下列代码中的内部类名是()。 import javaawtevent*; lapoct javaxswin9*; class TalkingClock(public
11、 void start(int interval,final boolean beep)ActionListener listener=newActionListener()public void actionPerformed(ActionEvent e-vent)Timer t=new Timer(interval,listener); start(); A. TimerB. ActionListenerC. 1istenerD. 匿名 (30)下列操作中,不属于Applet安全限制的是()。 A. 加载本地库B. 读写本地文件系统C. 运行本地可执行程序D. 与同一个页面中的Applet
12、通信(31)JScrollPane面板的滚动条是通过哪个对象来实现?()A. JViewportB. JSplitPaneC. JTabbedPaneD. JPanel(32)下列选项中,不能输出100个整数的是()。 A. for(int i=0;i<100;i+)Systemoutprintln(i);B. int i=0; doSystemoutprintln(i); i+: while(i<100);C. int i=0: while(i<100)Systemoutprintln(i); i+: D. int i=0: while(i<100)i+: if(i&
13、lt;100)continue: Systemoutprintln(i); (33)如果入栈序列为CEDB,以下哪一个是从栈中删除元素的序列?()A. BEDB. BDEC. BEDCD. BDEC(34)下列程序片段中,能通过编译的是()。 A. public abstract class Animalpublic void speak();B. public abstract class Animalpublic void speak();C. public class Animalpubilc abstract void speak();D. public abstract class
14、Animalpubile abstract void speak();(35)下列程序的输出结果是()。 Public class TestPublic static void main(Stringargs)intarray=(2,4,6,8,10); int size=6; int result=-l: tryfor(int i=0;i<size&&result= =-1:)if(arrayi= =20)result=i: catch(ArithmeticException e)Systemoutprintln(Catch-1); catch(ArraylndexOu
15、tOfBoundsException e)Systemoutprintln(Catch-2): catch(Exception e)Systemoutprintln(Catch-3): A. Catch-1B. Catch-2C. Catch-3D. 以上都不对 (36)下列关于正则表达式的说法,不正确的是()。 A. 在J2SE l4中的正则表达式包中有一个Pattern类B. 在J2SE l4中的正则表达式包中有一个Macher类C. 在J2SE l4中的正则表达式包名为javautilregexD. 以上说法都不对 (37)下列叙述中,错误的是()。 A. 内部类的名称与定义它的类的名称
16、可以相同B. 内部类可用abstract修饰C. 内部类可作为其他类的成员D. 内部类可访问它所在类的成员 (38)假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为()。 A. 50B. 19C. 1D. 20(39)数据流程图(DFD图)是()。 A. 软件概要设计的工具B. 软件详细设计的工具C. 结构化方法的需求分析工具D. 面向对象方法的需求分析工具 (40)下列不属于Swing中构件的是()。 A. JPanelB. JTabl
17、eC. MenuD. JFrame基本操作题(共18分)(1)本题的功能是获得字符串“China”的长度和最后一个字符,并将这些信息打印出来。 public class javal(public static void main(Stringargs) ; str=China; int n=0: ; char C; ; Systemoutprintln(字符串中共有+n+个字 符,最后一个字符是:+c); 简单应用题(共24分)(1)本题中,窗口的背景色为系统桌面的颜色,在窗口中分别画空心和实心的黑色矩形、深灰色圆角矩形和浅灰色椭 圆形,并且画白色粗体的“欢迎学习Java!”字符串。 impo
18、rt javaawt*; import javaxswin9*; public class java2public static void main(Stringargs)FillFrame frame=new FillFrame(); framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE); frameshow(); class FillFrame extends JFramepublic FillFrame()setTitle(java2): setSize(WIDTH,HEIGHT); FillPanel panel=new FillPane
19、l(); panelsetBackground(SystemColordesktop); Container contentPane=getContentPane(); contentPaneadd(panel); public static final int WIDTH=400; public static final int HEIGHT=250; class FitlPanel extends JPanelpublic void paintComponent(Graphics g) ; gsetColor(new Color(10,10,10); gdrawRect(10,10,100
20、,30); gsetColor(new Color(100,100,lOO); gdrawRoundRect(150,10,100,30,15,15); gsetColor(new Color(150,150,150); gdrawOval(280,10,80,30); gsetColor(new Color(10,10,10); gfillRect(10,ll0,100,30); gsetColor(new Color(100,100,100); gfillRoundRect(150,110,100,30,15,15); gsetColor(new Color(150,150,150); g
21、fillOval(280,110,80,30); gsetColor(Colorwhite); Font f=new Font(宋体”, ,20); gsetFont(f); gdrawstring(欢迎学习Java!,l50,200); 综合应用题(共18分)(1)本题的功能是监听鼠标的拖曳操作。窗口中有一个列表框,列表框中列出了当前目录的所有文件,鼠标选中一个或多个文件后拖曳出窗口,此操作的功能是将拖曳的文件复制一份在拖曳的目的目录下。 import javaawt*; import javaawtdatatransfer*; import javaawtdnd*; import java
22、awtevent*; import javaio*; import javautil*; import javaxswing*; public class java3public static void main(Stringargs)JFrame frame=new DragSourceFrame(); framesetDefauhCloseOperation(JFrameEXIT_0N_CLoSE); frameshow(); class DragSoureeFrame extends JFramepublic DragSourceFrame()setTitle(java3); setSi
23、ze(WlDTH,HElGHT); Container contentPane=getContentPane(); File f=new File()getabsoluteFile(); Filefiles=flistFiles(); model=new DefaultListModel(); for(int i=0;i<fileslength();i+)trymodeladdElement(filesigetCanonicalFile(); catch(IOException exception)JOptionPaneshowMessageDialog(this,exeep-tion)
24、; fileList=new JList(model); contentPaneadd(new JScrollPane(fileList), BorderLayoutCENTER); contentPaneadd(new JLabel(从列表中拖曳出文 件), BorderLayoutNoRTH); DragSource dragSource=DragSourcegetDefauh-DragSource(); dragSourcecreateDefaultDragGestureRecognizer(fileList, DnDConstants ACTION_COPY_0R_MOVE,newDr
25、agGestureListener()public void dragGestureRecognized(DragGestureEvent event)draggedValues=fileListgetSelectedValues(); Transferable transferable=new FiteListTransferable(draggedValues); evenrstartDrag(null,transferable, new FileListDragSourceListener(); ); private class FileListDragSourceListener im
26、ple-ments DragSourceAdapterpublic void dragDropEnd(DragSourceDropEvent e-vent)if(eventgetDropSuccess()int action=eventgetDropAction(); if(action= =DnDConstantsACTl0N MOVE)for(int i=0;i<draggedValueslength;i+)modelremoveElement(draggedValuesi); private JList fileList; private DefauhListModel model
27、; private ObjectdraggedValues; private static final int WIDTH=300; private static final int HEIGHT=200; class FileListTransferable implements Transferablepublic FileListTransferable(Objectfiles)fileList=new ArrayList(ArraysasList(files); public DataFlavorgetTransferDataFlavors()return flavors;public
28、 boolean isDataFlavorSupported(DataFlavorflavor)return Arrays. asList(flavors), contains(flavor) ;public Object getTransferData(DataFlavor flavor)throws UnsupportedFlavorExceptionif(flavor, equals(DataFlavor, javaFileListFlavor) )return fileList;else if(flavor, equals(DataFlavor, stringFlavor)return
29、 fileList, toString() ;else throw new UnsupportedFlavorException(flavor) ;private static DataFlavor flavors =DataFlavor. j avaFileListFlavor,DataFlavor. stringFlavor;private java. util. List fileList;答案和解析选择题(每小题1分,共40分)(1) :BB。【解析】本题考查Java IO流中的过滤流。过滤流是Java对IO访问提供的同步处理机制,保证某时刻只有一个线程访问一个IO流。过滤流是Filt
30、erInputStream和FiherOutputStream。因此,本题的正确答案是选项B。 (2) :AA。【解析】当一个线程使用的同步方法中用到某个变量,而且需要其他线程修改此变量后才能复合本线程的需要,那么可以使用wait()方法。wait()方法的作用是使本线程等待,并允许其他线程使用此同步方法。当其他线程使用完后应使用notify()或者notify All()方法允许其他线程使用此同步方法。Interrupt()方法的作用是在run方法执行完之前就消灭此线程,而sleep()方法的作用是延迟一段时间后执行。因为本题是为了支持压栈线程与弹栈线程之间的交互与同步,所以选A。 (3)
31、:BB。【解析】该题考查对for循环的理解。当j=10时,满足条件j>3,由于for循环中j- -执行了1次,j的值为9,执行if语句,j3=0不满足条件,继续向下执行2次 - -j,j的值为7:当j=7时,满足条件j>3,由于for循环中J一 一执行了1次,j的值为6,执行if语句,i3=0不满足条件,继续向下执行2次- -j,j的值为4。 (4) :DD。【解析】需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。 (5) :CC。【解析】本题考察E-R的关系,在E-
32、R图中,用菱形来表示实体之间的联系。矩形表示实体集,椭圆形表示属性。 (6) :DD。【解析】构造方法是一种特殊的方法,是为对象初始化操作编写的方法,用它来定义对象的初始状态。Java中的每个类都有构造方法,它也是由方法名、参数和方法体组成的。构造方法的名字必须与类名相同,并且构造方法不返回任何数据。 (7) :AA。【解析】为了充分利用资源,Java有一个系统级的线程,用来对内存的使用进行跟踪,它可以在系统空闲时对不用的内存空间进行回收,从而使程序员从繁忙的内存管理中解放出来。 (8) :AA。【解析】本题考查Java语言中if-else分支结构和几个标准函数语句的用法。本题中赋值号右边的两
33、个表达式分别求两个标准函数的值,再进行整除,判断出x与y的大小。Mathsqrt计算一个数的平方根,Mathrandom()输出0,1)之间的随机数,本题中经过两条赋值语句后,x=1,y=0。进入分支结构后,满足if条件执行相应System outprintln(x>y);操作。 (9) :DD。【解析】Java命名的基本原则包括如下几条:_、$不作为变量名、方法名的开头;变量名、方法名首单词小写,其余单词只有首字母大写;接口名、类名首单词第一个字母大写;常量完全大写。根据上述命名规则,选项D的说法是正确的。 (10) :AA。【解析】定义一个包要用package关键字,使用一个包中的类
34、时,首先要使用import导入这些类所在的包。include为C语言的包含头文件的关键字,不是Java的。 (11) :AA。【解析】Java是新一代编程语言,具有很多特点:简单易学;利用面向对象技术;分布式计算;健壮性(鲁棒性);安全性;跨平台(即体系结构中立);可移植性;解释执行;高性能;多线程;动态性。因此,本题的正确答案是A。 (12) :DD。【解析】栈是限制仅在表的一端进行插入和删除的运算的线性表,通常称插入、删除的这一端为栈顶,另一端称为栈底。 (13) :CC。【解析Java程序中使用import关键字导入一个包中的类。在一个Java源程序中,可以有0个或多个import语句,
35、但是必须在所有类定义之前引入标准类。因此,本题中选项C的说法是错误的。 (14) :CC。【解析】本题考查包的导入和使用。首先用package语句说明一个包,该包的层次结构必须与文件目录的层次相同,否则,在编译时可能出现找不到包的问题。Java语言中javalang包是编译器自动导入,其他包中的类必须用import导入。 (15) :CC。【解析】本题考查对成员变量的声明。成员变量的声明格式为:修饰符type变量名;其中type可以是java语言中的任意数据类型,而修饰符可以是public、protected, private,static,final,transient,volatile等。
36、选项A错误,成员变量不能同时声明成public和protected。选项B是类的声明格式,并不是成员变量的声明。成员变量声明应以;结尾,选项D错误。选项C声明了一个私有的double型成员变量,为正确答案。 (16) :CC。【解析】字符变量在内存中占16位二进制数位,int变量在内存中占32位二进制数位。 (17) :CC。【解析】线性结构是指数据元素只有一个直接前驱和直接后继,线性表是线性结构,循环队列、带链队列和栈是指对插入和删除有特殊要求的线性表,是线性结构。而二叉树是非线性结构。 (18) :BB。【解析】顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到结点的关键字
37、和给定值k进行比较,若当前扫描到结点的关键字与k相等,则查找成功;若扫描结束后,仍未找到关键字等于k的结点,则查找失败。二分查找法是一种效率较高的查找方法,要求线性表是有序表。基本思想是:首先将待查的k值和有序表R0Rn-1的中间位置mid上的结点的关键字进行比较,若相等,则查找完成;否则,若Rmidkey>k,则说明待查找的结点只可能在左子表R0Rmid-1中,我们只需在左子表中继续进行折半查找,若Rmidkey<k,则说明待查找的结点只可能在右子表Rmid+1Rn-1中,我们只需在右子表中继续进行折半查找。这样,经过一次关键字比较就缩小一半的查找范围。对顺序查找而言,如果查找失
38、败,比较次数为n次;对二分查找而言,如果查找失败,比较次数为log2(n+1)次。 (19) :BB。【解析】Java是一个完全面向对象的语言,利用类把对象的属性和方法封装在一起,只对外界提供有限的接口。 (20) :CC。【解析】066代表8进制数据的66等于十进制的54。 (21) :CC。【解析】其带权外部路径长度为:216+221+230+310+312=200。 (22) :AA。【解析】栈是限定在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端叫做“栈顶”,不允许插入和删除的一端叫做“栈底”。 (23) :BB。【解析】本题考查Applet程序的运行方式。在Appl
39、et运行时,首先由浏览器调用init()方法,所以选项B正确。初始化完成后,将调用start()方法使Applet成为激活状态。当Applet被覆盖时可用stop()方法停止线程。关闭浏览器时调用destroy(),彻底终止Applet,从内存中卸载并释放该Applet的所有资源。Applet的生命周期及其运行方式是考试重点,应该牢记。 (24) :CC。【解析】前两项是自加减运算,最后一项是b=b*a 。 (25) :BB。【解析】先进的软件开发工具和环境对提高开发人员工作效率是至关重要的。 (26) :AA。【解析】java中实现多线程的方法之一就是实现Runnable接口中的run方法,
40、把实现Runnable接口的子类对象传递给Thread类的构造函数。 (27) :DD。【解析】算法的空间复杂度,是指执行这个算法所需的存储空间。算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间及算法执行过程中所需要的额外空间。 (28) :AA。【解析】本题考查考生对Java语言概念的理解,属于考试重点内容,历次考试都有相关内容,应该理解这些基本概念。Java语言是分大小写的,这一点在初学Java时需要特别注意,这一点与C语言有所不同,B选项错误。以开始的应该是单行的注释语句,因此选项C错误。Java中有三类注释语句:文档注释*,被javadoc处理,可以建立类的
41、一个外部说明性文件;C语言注释风格*,用于去掉当前不再使用但仍想保留的代码等;单行注释,格式上要求注释符后必须紧跟一个空格,然后才是注释信患。Java程序源文件名必须和public类名相同,否则编译出错,因此选项D错误。只有选项A说法正确。 (29) :BB。【解析】内部类就是在类内部重新定义的新类,该类能连接外部类,但是不能和外部类进行通信。AetionListenser有自己的类方法体,而Timer没有,只是实例化了一个Timer对象。 (30) :DD。【解析】本题考查Applet的安全限制。为了保护本地主机,很多浏览器对Applet作了安全限制:Applet不能运行任何本地可运行程序;
42、禁止加载本地库或方法;禁止读、写本地计算机的文件系统;禁止与提供Applet之外的任何主机建立网络连接;不能读取某些系统信息。但Applet是可以与同一个页面中的Applet进行通信的,所以选项D不属于Applet安全限制。(31) :AA【解析】视口(ViewPort)类的对象是一种特殊的对象,主要用于查看构件,滚动条就是跟踪移动视口,并且同时在容器中显示其查看的内容的。 (32) :DD。【解析continue语句的作用是不执行循环体后面的语句直接进入循环判断阶段。所以本题选D。 (33) :DD。【解析】根据栈的先进后出原则,可知从栈中删除的元素的序列为BDEC。 (34) :AA。【解
43、析】Java中一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。如果一个类中含有abstract方法,那么这个类必须用abstract来修饰(abstract类也可以没有abstract方法)。有abstract方法的父类只声明,由继承它的子类实现。所以选A。 (35) :BB。【解析】本题考查了数组及for循环。本题数组定义的值为5,下标从04。数组越界,所以答案为B。 (36) :CC。【解析】本题考查J2SE l4中的正则表达式。记忆型题目,没有太大难度,考生记住即可。javautilregex和javanetURL类相结合,用于网络上的字符输入流的模式字符串搜索中。 (37) :AA。【解析】内部类与外部类的名称不能相同。 (38) :BB。【解析】当前栈中的所有元素的个数就是用栈底指针减去栈顶指针。 (39) :DD。【解析】数据流程图是一种结构化分析描述模型,用来对系统的功能需求进行建模。 (40) :CC。【解析JPanel是Swing的中间容器;JTable是Swing中可编辑信息的构件;JFrame是Swing的顶层容器。 基本操作题(共18分)(1) :第1处:String str第2处:n=strlength()第3处:c=strcharAt(n-1)【解析】第1处定义一个String字符串类型的变量str;第2处将str字符
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。