《【备考2023年】陕西省西安市全国计算机等级考试Java语言程序设计真题二卷(含答案).docx》由会员分享,可在线阅读,更多相关《【备考2023年】陕西省西安市全国计算机等级考试Java语言程序设计真题二卷(含答案).docx(19页珍藏版)》请在三一办公上搜索。
1、【备考2023年】陕西省西安市全国计算机等级考试Java语言程序设计真题二卷(含答案)学校:班级:姓名:考号:一、单选题(10题)1.下列变量的定义中,错误的是()oA.intx=3;B.floatf;d;C.StringS=nHellon;D.booleanb=true;2Java语言与C+语言相比,最突出的特点是()A.面向对象B.高性能C.跨平台D.有类库3.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的()oA.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法4Java变量中,以下标识符错误的是()。A._comB.!orgC.fateD.
2、Sstablel5 .下列()是不合法的Java标识符。A.Tree&GlassesB.firstJavaAppletC._$the1.astOneD.$27356 .在方法内部使用,代表对当前对象自身引用的关键字是()oA.superB.ThisC.SuperD.this7 .有如下语句:s=Int(100*RnD.执行完毕,S的值是()。A.0,99的随机整数B.0,100的随机整数Al,99的随机整数D.l,100的随机整数8 .分析如下所示的Java代码,编译运行后的输出结果是()。publicstaticvoidmain(Stringarg)booleanb=true;System.
3、out.print(b);if(b)SyStemQUt.print,真);elseSyStemQUt.print,假);)A.trueB.true真C.true假D.l9下列叙述中,不属于测试的特征的是()oA.测试的挑剔性B.完全测试的不可能性C测试的可靠性D.测试的经济性10下列描述中正确的是()oA.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题二、2.填空题(10题)11.下列JAPPIet对鼠标单击事件进行处理,当鼠标在JPanel中单击时,在J1.abe
4、l中显示单击次数。请在横线处填写正确的代码【importjava.awt.event.*;importjavax.swing.*;importjava.awt.*;publicclassTestextendsJApplet(staticintent;publicvoidinit()(Containercp=getContentPane();MyPanejp=newMyPane1();jp.addMouse1.istener(newMouseAdapterQ(publicvoidmouseClicked(MouseEventme)(ent+;jb.setText(Integer.toString
5、(cnt););cp.add(,South,jB);cp.add(Center,jp);)classMuPanelextendsJPanel(publicMyPanel()1)publicvoidpaintComponent(Graphicsg)(super.panitComponent(g);g.drawRect(O,O,getSize().width-l,getSize().hight-l);)12 .一般在APPlet中,声音文件的加载只需要进行一次,一般在方法中。13 .软件工程包括3个要素,分别为方法、工具和【】。14 .Throwable类有两个子类,分别是Error和o15 .i
6、nt型PUbliC成员变量MAX_1.ENGTH,该值保持为常数200,则定义这个变量的语句是O16 .布局管理器中将构件从上到下、从左到右进行的排列的布局管理器是【】。17 .Java的类库具有的特点,保证了软件的可移植性。18 .每个应用程序可以包括许多方法,但必须有且只能有一个方法。19 .凡生成SbingBURer一个对象后,还可用【】方法或ensureCapacity()方法设定缓存大小。20 .Java通过过滤流对I/O访问提供【】机制。21 .开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做OA.软件投机B.软件危机C.软件工程D.软件产生22 .对关键字和值带来
7、更多操作功能的类是()。A.Class类B.Object类C,Hashtable类D.Properties类23 .给出下列的程序,其叙述正确的是publicclassManstaticintarr=newint10;publicstaticvoidmain(Stringa1.J)System.out.println(arr1);A.编译时将发生错误B.编译时正确但是运行时出错C.输出为0D.输出为null24 .在编写JaVaAPPIiCatiOn程序时,若需要使用标准输入输出语句,则必须在程序的开关写上()语句。A.importjava.awt.*;B.importjava.applet.
8、Applet;C.importjava,io.*;D.importjava.awt.Graphics;25 .下列关于内部类的说法不正确的是()oA.内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用B.内部类可以使用它所在类的静态成员变量和实例成员变量C.内部类不可以用abstract修饰符定义为抽象类D.内部类可作为其他类的成员,而且可访问它所在类的成员26 .整型变量中,byte类型表示数据的范围是()。A.-127+128B.-126+127C.-128+127D.-127+12627 .关于对象的删除,下列说法正确的是()A.必须由程序员完成对象的清除BJava把没有引用的
9、对象作为垃圾收集起来并释放C.只有当程序中调用SyStem.gc()方法时才能进行垃圾收集DJava中的对象都很小,一般不进行删除操作28 .下列说法错误的是()。A.Throwable类分为Error和Excepfion两子类BJava语言中的类库,已定义有许多异常类可利用C.异常对象用new来创建D.捕获异常在调用方法时用throw子句捕获并处理29 .给出下列代码段:inti=3,j;outer:while(i0)j=3;inner:while(j0)if(jorijava.awt.gcom.ImpOrljava.util.mxrtjavn.swing.:publicclasjva3(p
10、ublicvoidmai11(Stringrgs)(JFrnmCfrnnunewTransformTcstFrnmcOjframe,sctDe(nultCloccration(JFramc.EXIT_(),CI)SE)tframe,show()l)d、TranUorrnTECXICndsJFnImCpublicTransformTcsFramc()(5Titlc(,java3)5cSc(WIDTH.HElGHT)JContainerCOntcntPancgetContcntPane)CanVaKnewTrans(ormPanel:contf11(Pane,11dd(cnnvas.Bordcrl
11、uiyout.CENTER):JPanelbUUOnPanelnewJPaneiOiBuuonGroupgroup=;newHUttonGrOUP)】JRadioBultonrotacBtonnewJRadioButionC*tH,.true):butIonPanel.addrotatcButton)group,add(rotaleButtnn)rotaeUutto11.ftddAciton1.unvr(newActionl.iMcner()IpublicvoidactionPerformed(ActionEvcntevent)tcanvas.sctRotatcJRaciioButtontrn
12、nhlrButton-newJRadioBuitonJRadioButtonncaleButton-newJRadioButonjJftzfake)buttonPnnd.add(saleButton);group.nddsc8cButton)5CeBuon.Addctionl.istcner(newction1.stcner)(publicvoidactonPcrformelActionEvcntevent)(CanVa$.5ciScalc()1)JRadiuBuHonhcaruuonnewJRadioBuiton剪切false);buttonpanel,adda、TranHormPaneIe
13、xendJPanCltnewAffincTransforTnOi5etR0tic()I)PUMiCVOidpniniComponcnM)publicTransformPancK)square-newRcclangIeZI).l)ubk(-50,-50.100.100)tjupcr.PaintCOmpOnCnMg)JGraphics2Dr2(Graphcs2D)gg2.tr*njlategelWidihO/2getHcightO/2)r2.5cPain!(Color.gry)r2.draw(square)g2.transform”);g2.MMPaint(Color,black):g2.draw
14、(square)publicvoid5e(Roiaie()(.5ctToRottion(Math.IORadian30)trepint()publicvoidsc3)publicvoid5etSce(t.setToScalc2.O.I.S)reaint()t)publicvoidsetShear()(1. setToShcar(0.20)repatn()privateReEnae2Dsquare1privateAfGncTransformu)32 .本题是一个计时器。窗口中有1个文字标签和3个按钮,名为“复位”、“开始”和“暂停”,初始状态时只有“开始按钮可用,单击该按钮开始计时,并且“开始”
15、按钮的标签变为“继续”且不可用暂停”按钮变为可用,单击“暂停”按钮后“暂停”按钮变为不可用,“复位”和“继续”按钮变为可用,此时如果单击“复位”按钮将恢复到初始状态,如果单击“继续”按钮,则继续进行计数。importjava.awt.*importjava.awt.event.*;PUbliCCIaSSiaVa3extendsFrame,extendsRUrmabIK(1.abeltimeDisp=new1.abel(n0:011,1.abel.CENTER);ThreadtimerThread;inttime=0:ButtonbtReset=newBUttOn(复位);ButtonbtSta
16、rt=newBUttOn(开始”);ButtonbtStop=newButton(“暂停”);java3super(,java311);PanelP=newPanel(newGrid1.ayout(1,0);btReset.setEnabled(false);btStop.setEnabled(true);addWindow1.istener(newWindowAdapterJpublicvoidwindowClosing(WindowEvente)System.exit(O););btReset.addAction1.istener(newReset1.istener);btStop.add
17、Action1.istener(newStop1.istener);btStart.addAction1.istener(newStart1.istener);Padd(btReset);P.add(btStart);P.add(btStop);add(P,Border1.ayout.SOUTH);timeDisp.setFont(newFont(,Courier11,Font.BO1.D,60);add(timeDisp,Border1.ayout.CENTER);pack;show;)voidstopThreadt=timerThread;if(t!=null)timerThread=nu
18、ll:tryt.join;catch(Exceptione)publicvoidrunwhile(timerThread=Thread.CurrentThread)timeDisp.setText(11,+time/10+11:,+time%10+,011);time+;tryThread.sleep(100);catch(Exceptione)();classReset1.istenerimplementsAction1.istenerpublicvoidactionPerfbrmed(ActionEventevt)IhiS.StOD;timeDisp.setText(11O:0”);tim
19、e=0;btReset.setEnabled(false);btStart.setEnabled(true);btStop.setEnabled(false);btStart.Set1.abeI(“开始”);)classStop1.istenerimplementsAction1.istenerJpublicvoidactionPerformed(ActionEventevt)java3.this.stop;btReset.setEnabled(true);btStart.setEnabled(true);btStop.setEnabled(false);btStart.Set1.abeI(“
20、继续“);)classStart1.istenerimplementsAction1.istenerJpublicvoidactionPerformed(ActionEventevt)timerThread=newThread(java3.this);timerThread.start;btReset.setEnabled(false);btStart.setEnabled(false);btStop.setEnabled(true);btStart.Set1.abeI(“继续“);staticpublicvoidmain(Stringargs)newjava3;五、单选题(0题)33 .下列
21、类中属于字节输入抽象类的是()。A.FilelnputStreamB.ObieetInputStreamC-FiterlnputStreamDJnputStream六、单选题(0题)34 .下面的()关键字通常用来对对象加锁,从而使得对对象的访问是排他的。A.serializeB.transientC.synchronizedD.static参考答案1.B正确的方法是floatf,d;,中间应该使用“,”而不是“广,因为在JaVa中“广表示一个语句结束。2 .C解析:本题考查JaVa语言的特性。JaVa语言与C+语言都是面向对象的语言。因此,选项A是错误的。Java语言与C+语言都是高性能的编
22、程语言。Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。C+由于其极高的灵活性、强大的功能和非常高的效率,常常用于专业应用程序的开发,C+非常适合于编写各种编程环境下的高性能代码。因此,选项B是错误的。Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。C和C+具有一定程度的源代码级平台无关,C+语言支持程序员编写一些非常低级的程序,从而能够访问机器硬件,并操纵实际内存地址。但这些是以牺牲可移植性为代价的,因为这时每个程序都是针对某种具体硬件环境的。而Java主要靠Java虚拟机
23、。VM)在目标码级实现平台无关性。JaVa编程人员在编写完软件后,通过JaVa编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。显然,JaVa语言与C补语言相比,最突出的特点是跨平台。因此,选项C是正确的。JaVa语言和C+语言中都包含有类库,提供了大量的类以满足用户的多方面需要。因此,选项D是错误的。经过上述分析可知,本题的答案是选项C。3 .C解析:模块的独立程度是评价软件设计好坏的重要度量标准。衡量软件的模块独立性经常使用耦合性和内聚性两个定性的度量标准。故选项C正确。4 .C5 .A6 .DD。
24、【解析】SUPer关键字为实现对父类变量的访问和对父类方法的调用。对当前对象自身的引用应使用this关键字。7 .A暂无解析,请参考用户分享笔记8.B9.C解析:软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。它有3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。其中没有测试的可靠性这一说法。注意:软件测试与软件调试的概念,以及相应的方法。10.Crn软件工程是试图用工程、科学和数学的原理与方法研制、维护计算机软件的有关技术及管理方法。软件工程的主要思想是强调在软件开发工程中需要应用工程化的原则。软件工程用来解决以下问题:软件需求的增长
25、得不到满足、软件开发成本和进度无法控制、软件质量难以保证、软件不可维护或维护程度低、软件得成本不断提高、软件开发生产率的提高赶不上硬件的发展和应用需求的增长。软件项目的管理、软件产品的生产率、软件开发中的技术都是软件工程需要解决的部分问题。因此选项C正确。I1.finalJ1.abeljb=newJ1.abel(11ok)finalJ1.abeljb=newJ1.abel(,ok,)解析:在匿名类中的扣对象的属性必须是final,否则编译会出错。12.init()13 .【】过程【】过程解析:软件工程包括3个要素,即方法、工具和过程。方法是完成软件工程项目的基础上的技术手段;工具支持软件的开发
26、、管理、文档生成;过程支持软件开发的各个环节的控制、管理。注意:软件工程的3个要素及各要素的作用。14 .ExceptionException解析:本题考查ThroWabIe类的概念。ThroWable类有ElTOr和EXCePtion两个子类,EiTOr类包括动态连接失败、硬件设备和虚拟机出错等,通常的JaVa应用程序不会捕获和抛出这类异常,而是捕获和抛出Exception这类异常,它包括运行时出现的异常,并对这类异常做出处理。15 .publicfinalintMAX1.ENGTH=100publicfinalintMAX1.ENGTH=100解析:JaVa中定义常值变量使用的是final
27、属性,说明该值赋值以后永不改变,所以正确答案为publicfinalintMAX.1.ENGTH=100o16 .Flow1.ayoutFlow1.ayout解析:Flow1.ayout是最简单的布局管理器,起组件按添加顺序从上到下、从左到右进行放置。17 .跨平台跨平台18 .main19.set1.ength()set1.ength()解析:此题考查StringBuffer字符串的知识,生成String1Buffer一个对象后可用Set1.ength()或ensureCapacity()方法设定缓存大小,并保证其数组元素的初值都为0。20.同步处理同步处理解析:FilterInputStr
28、eam和Fi1terutputStream抽象类及其子类是过滤流类,它们保证某I/O流同时只能被一个线程访问,从而为Java对I/O的同步处理机制提供保障。21.B解析:软件工程概念的出现源自软件危机。所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。总之,可以将软件危机归结为成本、质量、生产率等问题。22 .C23 .C解析:由于数组元素是整型,所以其初始值为0。24 .C25 .C解析:内部类的特点:内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用。内部类可以使用它所在类的静态成员变量和实例成员变量。内部类可用abstract修饰定义为抽象类。内部类可作为
29、其他类的成员,而且可访问它所在类的成员。除StatiC内部类外,不能在类内声明StatiC成员。26 .C27.B解析:在Java中定义对象时往往通过new运算符为其分配内存空间,于是当不再希望使用这个对象时需要释放掉它所占用的内存。在Java中,释放内存的工作是由系统自动隐含的进行,编程人员无须关心。所以选项B说法是正确的。28 .D29 .A解析:本题考查循环语句与条件语句的嵌套使用。break语句常用的一个作用是用于退出循环语句或Switch语句,其另外一个作用就是提供一个“标签化中断”的语句,可让程序退出多重嵌套。题中循环变量i和j的初值都为3,开始进入循环体,输出3and3。然后都执
30、行j-语句,j的值为2,进入if分支,执行语句“breakouter;,即跳出整个循环体。故程序代码最后的输出为3and3。30 .A解析fush()是清空输出流的方法,并将缓冲区中的数据强制送出;Ck)Se()关闭流;write(intb)将一个整数输出到流中;write(byteb)将字节数组中的数据输出到流中。31 .解析:第1处:classTransformTestFrame.extendsJFrame第2处:classTransformPanelextendsJFrame第3处:publicvoidpaintComponent(Graphicsg)【解析】第1处类中公有对象名称应与类
31、名-致;第2处为继承的父类不正确;第3处从下面的super.paintCompo-nent(g);可判断出应有参数GraPhiCsg。32 .第1处:publicclassjava3extendsFramen第2处:btStop.setEnabled(false)n第3处:java3.this.stopn【解析】第1处定义一个继承了Frame窗口类的java3类;第2处暂停按钮StStop的SetEnable属性为false,不可用;第3处是单击“复位”调用StoP方法停止计时ReSet1.iStener主要作用是当用户单击“复位”时,它首先停止计时然后将时间清零,最后修改各个按钮的状态,即以是否可用的状态修改。33.D在JaVa中定义了两种类型的流,字节型和字符型,这两种流分别用4个抽象类表示:InputStream,OutputStream,Reader,Writer,其中InptutStream和C)Ut-Stream表示字节流,Reader和Reader是表示字符流,所以字节输入抽象类为InptutStreamo34.CC。【解析】本题考查Java中对象加锁的概念。Java是多线程的语言,多个线程可以“同时”访问同一数据区,而在处理某些数据时不希望其他的线程修改那些数据的值或者某些操作是不可打断的,要做到这个,可以使用synchronized关键字声明这一点。