备考2023年江苏省扬州市全国计算机等级考试Java语言程序设计真题(含答案).docx
备考2023年江苏省扬州市全国计算机等级考试Java语言程序设计真题(含答案)学校:班级:姓名:考号:一、单选题(10题)1 .为了将HenOAPPlet(主类名为HenoAPPlet.class)嵌入在greetmg.html文件中,应该在下列greeting.html文件的横线处填入的代码是()。<HTM1.><HEAD><TIT1.E>Greetings</TIT1.E><HEAD><BODY><APP1.ET,><APP1.ET><BODY><HTM1.>A.HellOApplet.classB.CODE=,HellOApplet.class,C.CODE="HelloApplet.class11WIDTH=150HEIGHT=25D.CODE="HelloApplet.class"VSPACE=10HSPACE=102 .下列类中属于字节输入抽象类的是()。A1FilelnputStreamB.ObieetInputStreamC-FiterlnputStreamDJnputStream3 .循环语句中经常加入continue语句完成特定功能,则执行continue语句后()A.跳过循环体下面的语句,继续下次循环B.再次循环前不需要判断终止条件C.跳出循环D.以上说法都不正确4 .给出下面的代码段,下面的哪些陈述为真?()publicvoidcreate()VectormyVect;myVect=newVector();I:第2行的声明不会为变量myVect分配内存空间。II:第2行的声明分配一个到Vector对象的引用的内存空间。III:第2行语句创建一个VeetOr类对象。IV:第3行语句创建一个Vector类对象。A.II、III、IVB.I.11kIVC.I、11ID.I、IV5 .在JaVa中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是以下的包。A.java.ioB.java.awtC.java.appletD.java.awt.event6 .下列不属于接口WindOW1.iStener的方法是()。A.WindowClosingB.windowClosedC-WindowMinimizedD.WindowOpened7 .在ODBC标准中,允许使用的数据库连接标准是oA.CORBABJDBCC.SQ1./C1.ID.J2ME8.Swing的选项面板是()oAJTabbedPaneBJ1.ayeredPaneCJSerollPaneDJSplitPane9 .下列程序的运行结果是publicCla>te*<'PrlV/He*Stringdata'"10"."10.5";publicvo:d(un()doubles三Ojfor<inti=0i<3i÷+)(ry1r=as+Integer,parscln<<hai)«cntch(Exceptione)(publicMalicvoidmain(<trnRJargs)(try(te»tdnewtml()d.FunO:)catch(Exceptione)System,out.printIn("crror2")System,out.nni("error!:*-daia(i->1A.error1:10.5B.error2C.errorl:10.5error2D.以上都不对10 .线程生命周期中可能具有的状态是()0A.新建状态、运行状态和终止状态B.新建状态、运行状态、阻塞状态和终止状态C.新建状态、可运行状态、运行状态、阻塞状态和终止状态D.新建状态、可运行状态、运行状态、恢复状态和终止状态二、2.填空题(10题)I1.Java的图形界面技术经历了两个发展阶段,分别通过提供AWT开发包和【】开发包来体现。12 .在深度为5的完全二叉树中,度为2的结点数最多为。13 .Java中的对象锁是一种独占的【】。14 .在JaVa中,所有类的根类是15一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于的联系。16 .是JaVa的特殊应用程序,它嵌入到HTM1.中,发布到互联网上。17 .已知序列17,18,60,40,7,32,73,65,85,采用冒泡排序法对该序列做降序排序时,第4趟的结果是【】。18 .在数据库的概念结构设计中,常用的描述工具是o19 .break语句最常见的用法是在switch语句中,通过break语句退出SWitCh语句,使程序从整个SWitCh语句后面的【】开始执行。20 .下列程序的功能是在屏幕上输出26个小写字母,请补充完整。publicclassTestoopublicstaticvoidmain(Stringargs)charC=,a,;for(inti=i<=26;i+)System.out.println();三、1.选择题(10题)21 .下列关于HTM1.标记的说法,正确的是A.UR1.getDocumentBase()返回Applet主类的UR1.B.UR1.getCOdeBase()返回包含Applet的HTM1.文件的UR1.C.在HTM1.中不说明StringgetParameter(stringname)的参数,该方法将返回“0”D.HTM1.标记方法用于获取HTM1.文件中关于Applet的信息22 .Java.语言中所有的简单数据类型都被包含在()中。Ajava.sqlBjava.awtC.java.IangDjava.math23 .下列选项中,其值与其他三个选项的值不相等的是()oA.15B.OxFC.OXFD.01524 .数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是A.控制流B.加工C.数据存储D.源和潭25 .Java中类ObjeCtOUtPUtStream支持对象的写操作,这是一种字节流,它的直接父类是()oA.WriterB.DataOutputC.OutputStreamD.ObjectOutput26 .下面不属于线程生命周期的状态的是()。A.新建状态B.可运行状态C.运行状态D.等待状态27 .下列方法中,不属于WindOW1.iStener接口的是()oA.WindowOpenedB.windowClosedC.windowActivatedD.InouseDragged28 .创建字符串s:Strings=newString(,'xyzy,'):以下()将改变s。A.s.append(,a11)B.s.Concat(nSn)C.s.SUbString(3)D.以上语句都不会29 .对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为()。A.并运算B.交运算C.差运算D.积运算30 .按运算符操作数的数目划分,运算符?:的类型是A.三元B.二元C.四元D.一元四、综合应用题(2题)31 .本题是一个计时器。窗口中有1个文字标签和3个按钮,名为“复位”、“开始”和“暂停”,初始状态时只有“开始”按钮可用,单击该按钮开始计时,并且“开始”按钮的标签变为“继续''且不可用暂停”按钮变为可用,单击“暂停”按钮后“暂停”按钮变为不可用,“复位”和“继续”按钮变为可用,此时如果单击“复位”按钮将恢复到初始状态,如果单击“继续”按钮,则继续进行计数。importjava.awt.*;importjava.awt.event.*;PUbIiCCIaSSiaVa3extendsFrame,extendsRUrmabIe(1.abeltimeDisp=new1.abel(,0:0",1.abel.CENTER);ThreadtimerThread;inttime=0:ButtonbtReset=newBUtton(“复位");ButtonbtStart=newBUttOn("开始”);ButtonbtStop=newButton("暂停”);java3SUPer("java3");PanelP=newPanel(newGrid1.ayout(l1O);btReset.setEnabled(false);btStop.setEnabled(true);addWindow1.istener(newWindowAdapterpublicvoidwindowClosing(WindowEvente)System.exit(O););btReset.addAction1.istener(newReset1.istener);btStop.addAction1.istener(newStop1.istener);btStart.addAction1.istener(newStart1.istener);P.add(btReset);P.add(btStart);P.add(btStop);add(P,Border1.ayout.SOUTH);timeDisp.setFont(newFont(,'Courier,',Font.BO1.D,60);add(timeDisp,Border1.ayout.CENTER);pack;show;)voidstopThreadt=timerThread;if(t!=null)timerThread=null:tryt.join;catch(Exceptione)publicvoidrunwhile(timerThread=Thread.CurrentThread)timeDisp.setText(1111+time/10+n:,'+time%10+(,011);time+;tryThread.sleep(100);catch(Exceptione)();classReset1.istenerimplementsAction1.istenerJpublicvoidactionPerformed(ActionEventevt)this.StOP;timeDisp.setText(11O:011);time=O;btReset.setEnabled(false);btStart.setEnabled(true);btStop.setEnabled(false);btStart.Set1.abe1("开始");)classStop1.istenerimplementsAction1.istenerpublicvoidactionPerformed(ActionEventevt)java3.this.stop;btReset.setEnabled(true);btStart.SetEnabled(Irue);btStop.setEnabled(false);btStart.Set1.abeI(“继续“);)classStart1.istenerimplementsAction1.istenerJpublicvoidactionPerformed(ActionEventevt)timerThread=newThread(java3.this);timerThread.start;btReset.setEnabled(false);btStart.setEnabled(false);btStop.setEnabled(true);btStart.Set1.abel("继续”);staticpublicvoidmain(Stringargs)newjava3;)32 .本题是一个APPIet,功能是监听用对于文本域中文本的选择。页面中有一个文本域、一个“复制”按钮和一个文本框,选中文本域中部分文字后,单击按钮“复制”,所选文字将显示在文本框中。importjava.applet.Applet;importjava.awt.*;importjava.awt.event.*;publicclassjava3extendsAppletimplementsAction1.-istener(TextAreata=newTextArea(5,30);TextFieldtf=newTextField(30);Buttonbutton=newBUttOn(“复制”);Stringtext=11AWT提供基本的GUI组件,n11+11具有可以扩展的超类,n"+“它们的属性是继承的。一“npublicvoidinit(Set1.ayOUt(newFIoW1.ayOUt(FIOW1.ayoUt.Ieft);ta.setText(text);ta.setEditable(true);add(ta);add(button);add(tf);ta.addAction1.isteneKthis);)publicvoidactionPerformed(ActionEvente)(StringS;s=ta.getSelectText;if(e.getSource=button)tf.setText(三);五、单选题(O题)33 .下列关于SyStem类的叙述中,错误的是()。A.System类是一个final类B-System类不能实例化CSystem类中没有定义属性D.System类主要提供了系统环境参数的访问六、单选题(0题)cIaMTEimplementsRunnabk1publicintrun()<inii三Oiwhile(true)(i÷+Sysiem.out.prntln("i-"Ii)»I)34 .阅读下列代码段。)上述代码的编译结果是()。A.程序通过编译并且run()方法可以正常输出递增的i值B.程序通过编译,调用run()方法将不显示任何输出C.程序不能通过编译,因为while的循环控制条件不能为“true”D.程序不能通过编译,因为run()方法的返回值类型不是VOid参考答案1.C解析:在html页中包含Applet时,CODE=appletfile指定了包含Applet或JAPPIet字节码的文件名,WIDTH=pixelsHEIGHT=pixels定义了APPlet显示区以像素为单位的高度和宽度。2.D在JaVa中定义了两种类型的流,字节型和字符型,这两种流分别用4个抽象类表示:InputStream,OutputStream,Reader,Writer,其中InptutStream和OUt-Stream表示字节流,Reader和Reader是表示字符流,所以字节输入抽象类为InptutStreamo3.A4.D本题是考查对VeCtOr的应用和理解。要为一个新对象分配空间,必须执行newXxx()调用,new调用执行以下的操作:首先为新对象分配空间并将其成员初始化为0或者null:执行类体中的初始化(如在类中有一个成员声明inta=10,在第1步后a=O,执行到第2步后a=10);然后执行构造函数;最后变量被分配为一个到内存堆中的新对象的引用。5.B6 .CC。【解析】接口WindoW1.iStener包括以下方法:WindowActivatedsWindowDeactivated、WindowClosing、WindowClosed、Windowlconified、WindowDeiconifiedsWindOWOPened方法。所以选C。7 .C8.A本题考查SWing的容器面板。在SWing的容器面板中:选项板(JTabbedPane)提供一组可供用户选择的带有标签或图标的选项,每个选项下面都可以显示一个构件;SWin9提供两种分层面板:J1.ayeredPane和DesktopPaneoJDesktopPane是J1.ayeredPane的子类,专门为容纳内部框架OIntemaIFrame)而设计;滚动窗口(JSCrO11Pane)是带滚动条的面板,主要是通过移动JVieWPOrt(视口)来实现的;分隔板(JSPlitPane)用于分隔两个构件,这两个构件可以按照水平方向分隔,也可以按照垂直方向分隔。根据上述介绍可知,SWing中的选项面板是JTabbedPane。因此,本题的正确答案是A。9.Cntry-catoh块是可以嵌套分层的,并且通过异常对象的数据类型进行匹配,以找到正确的CatChblOCk异常错误处理代码。以下是通过异常对象的数据类型进行匹配找到正确的catchblock的过程。n首先在抛出异常的try-catch块中查找catchblock,按顺序先与第-个catchblock块匹配,如果抛出的异常对象的数据类型与catchblockee传入的异常对象的临时变量(就是catch语句后面参数)的数据类型完全相同,或是它的子类型对象,则匹配成功,进入CatChbk)Ck中执行,否则到第步;n如果有两个或更多的catchblock,则继续查找匹配第二个、第三个,乃至最后一个catchblock,如匹配成功,则进入对应的catchblock中执行,否则到第步;n返回到上-级的trycatch块中,按规则继续查找对应的CatChblocko如果找到,进入对应的CatehbIoCk中执行,否则到第4步;n再到上上级的trycatch块中,如此不断递归,直到匹配到顶级的try-catch块中的最后-个catchblock,如果找至I1.进入到对应的catchblock中执行;否则程序将会执行terminate(u3000u3000)退出。所以选C。n10.C解析:线程在其生命周期中,不同的生命阶段具有不同的状态。线程的主要状态有新建状态、可运行状态、运行状态、阻塞状态和终止状态。I1.SwingSwing解析SWing是JaVa语言在编写图形界面方面的新技术,它在AWT的基础上向前发展,提供了许多开发包。SWing是由纯JaVa实现的轻量级构件,没有本地代码,不依赖操作系统的支持,这是它与AWT构件的最大区别。由于AWT构件通过与具体平台相关的对等类实现,因此SWing比AWT构件具有更强的实用性。SWing在不同的平台上表现一致,并且有能力提供本地窗口系统不支持的其他特性。12.1515解析:在深度为5的完全二叉树中,度为2的结点数最多的是深度为5的满二叉树。在深度为5的满二叉树中,前4层中所有结点的度为2。即在深度为5的完全二叉树中,度为2的结点数最多相当于深度为4的满二叉树中的结点数。深度为4的满二叉树中的结点数为2的4次方-1=15。13 .排他锁排他锁解析:当一个对象获得了对象锁时,就拥有了操作该对象的所有权,在这期间其他的任何线程不能够对该对象进行任何操作。14.0bject0bject解析:本题考查考生对Java类的掌握。在Java中javalang包封装着所有编程应用的基本类。ObjeCt是所有类的根,它所包含的属性和方法被所有类集成。Class类是由编译器自动生成对象的一个特殊类,它伴随每个类。15 .一对多或一对n或1:N或1:n或一对m或1:M或1:m对多或一对n或1:N或1:n或一对m或1:M或1:m解析:两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有三种,即一对一(1:1)的联系、一对多(1:N)或多对一(N:1)的联系和多对多(M:N)的联系。16 .Applet【Applet解析:知道JaVa程序分为JaVaaPPliCatiOn和JavaApplet两类,其中JavaApplet是Java的特殊应用程序,它嵌入到html中,发布到互连网上。编写和执行JaVaAPPlet的步骤应该清楚。17.6040736585321817760,40,73,65,85,32,18,17,7解析:冒泡排序法的算法基本思想是:通过无序区中相邻记录关键字间的比较和位置交换,使关键字最小的记录如气泡一般逐渐往上漂浮直至水面。整个算法是从最下面的记录开始,对每两个相邻的关键字进行比较,且使关键字较小的记录换至关键字较大的记录之前,使得经过1趟冒泡排序后,关键字最小的记录达到最上端,接着,再在剩下的记录中找关键字最小的记录,并把它换在第2个位置上。依此类推,一直到所有记录都有序为止。根据这种思想,每趟的排序结果如下。初始17,18,60,40,7,32,?3,65,85第一趟18,60,40,17,32,73,65,85,7第二趟6040.18,32,73,65,85,17,7第三趟60,40,32,73,65,85,18.17,7第四趟6040,73,65,85,32,18.17,7第五趟6073,65,85,40132,18.17,7第六趟73第七趟73第八趟8565,85,60,40,32,85,65,60,40,32,18.18.73,65,60,40,32,18,17,717,717,718 .E-R图E-R图解析:E-R图是设计概念模型的有力工具。19 .第一条语句第一条语句解析:如果CaSe子句后没有break语句,那么无论下一个case子句的条件是否满足都将执行下一个case子句,如果有break语句,程序将退出SWitCh语句,使程序从整个SWitCh语句后面的第一条语句开始执行。20 .c+c+解析:使用c+-就是在输出本身后再加1,即变为顺序的下一个字母。21 .D解析本题考查APPIet中HTM1.标记方法。UR1.getDOCUmentBaSeo返回包含APPlet的HTM1.文件的UR1.,而不是返回APPIet主类的UR1.,选项A错误。UR1.getCodeBaSeo返回Applet主类的UR1.,而不是返回包含Applet的HTM1.文件的UR1.,选项B错误。StringgetParameter(stringname)返回定义在HTM1.文件的指定参数,如果指定参数在HTM1.中无说明,该方法将返回"null",而不是“0”,因此选项C错×O22 .CCo【解析JaVa语言中,所有的简单数据类型都被包含在包java.Iang中。23 .D解析:本题考查Java语言中的进制表示与换算。首先要清楚各种进制的表示方法,整型常量有3种书写格式:十进制数,如123、-50;八进制整数:以0开头,如012表示十进制的10;十六进制整数:以OX或OX开头,如0x12表示十进制的18。选项A是十进制15.选项B和选项C是十六进制中的F,相当于十进制的15,选项D为八进制,015相当于十进制的13,与其他选项不同。24 .A解析:数据流图包括4个方面,即加工(转换)(输入数据经加工变换产生输出)、数据流(沿箭头方向传送数据的通道,一般在旁边标注数据流名)、存储文件(数据源)(表示处理过程中存放各种数据的文件)、源和潭(表示系统和环境的接口,属系统之外的实体)。不包括选项中的控制流。25 .C解析:ObjeCtOUtPUtStream是字节流,所有的字节输出流都是OutputStream抽象类的子类OObjeCte)UtPUtStream既继承了C)UtPUtStream抽象类,又实现了ObjeCtoUtPUt接口,JaVa用接口技术代替双重继承。26.D27.D解析:WindOW1.iStener接口包含的方法是:windowActivated(WindowEvent)windowpened(WindowEvent)windowClosed(WindowEvent)windowCloshlg(WindowEvent)windowDeactivated(WindowEvent)windowDeiconified(WindowEvent)windowlconified(WindowEvent)因此不属于Window1.istener接口的方法是D。补充:在AWT中,接口的命名是与事件相对应的,比如WindowEvent事件所对应的接口就是Window1.istener,而MouseEvent事件所对应的接口就是WoUSe1.iStener。同时,接口中方法的命名也是与事件相对应的,比如WindOW1.iStener接口中包含的方法的名称都是以window开头,而WOUSe1.iStener接口中包含的方法的名称都是以mouse开头。针对本题,在不知道具体WindOW1.iStener接口中包含的方法时,根据AWT中接口和接口中方法的命名原则,也可以答对本题。28.D29.AA)【解析】关系的并运算是指由结构相同的两个关系合并,形成一个新的关系,新关系中包含两个关系中的所有元组。30 .A解析:本题考查Java中的运算符。程序涉及的数据处理,都是通过运算符和表达式来操作,是程序设计的基础,因此务必掌握。按照运算符的操作数的数目划分,可以分为:一元运算符(+,-)、二元运算符(+,,)、三元运算符(?:)。所以本题正确答案是选项A。31 .第1处:PUbliCCIaSSjava3extendsFramen第2处:btStop.setEnabled(false)n第3处:java3.this.stopn【解析】第1处定义一个继承了Frame窗口类的java3类;第2处暂停按钮StStop的SetEnable属性为false,不可用;第3处是单击“复位”调用StoP方法停止计时ReSet1.iStener主要作用是当用户单击“复位”时,它首先停止计时然后将时间清零,最后修改各个按钮的状态,即以是否可用的状态修改。32.第1处:set1.ayout(newFlow1.ayout(Flow1.ayout.1.EFT)n第2处:button.addAction1.istener(this)n第3处:s=ta.getSelectedText11【解析】第1处是设置构件的对齐方式为左对齐的且纵横间隔都是5个像素的布局管理器;第2处是为按钮注册监听器;第3处是在文本域ta中得到选中文本,将其赋给String类型的s。33.C解析:本题考查SyStem类的基本知识。SyStem类是一个特殊类,它是一个final类,所有的方法都用类变量来调用,即对SyStem类不可能实例化。System类主要用来提供标准输入/输出和系统环境信息的访问、设置。SyStem类的属性有:publicstaticfinalInputSbemin,标准输入publicstaticfinalOutputStreamout,标准输出publicstaticfinalPrintStreamerr,标准错误输出因此,本题中选项A、B和D的说法都是正确的。因此,本题的正确答案是选项C。34.Dnwhile的循环控制条件可以为true,run(u3000u3000)方法没有返回值,所以不能是H型,故此程序不能通过编译。n