《备考2023年湖北省襄樊市全国计算机等级考试Java语言程序设计测试卷一(含答案).docx》由会员分享,可在线阅读,更多相关《备考2023年湖北省襄樊市全国计算机等级考试Java语言程序设计测试卷一(含答案).docx(18页珍藏版)》请在课桌文档上搜索。
1、备考2023年湖北省襄樊市全国计算机等级考试Java语言程序设计测试卷一(含答案)学校:班级:姓名:考号:一、单选题(10题)1 .下列代码经过编译将输出0。PubliccIassTest飓二99;publicstaticvoidmain(Stringargs)Testm=newTest();m.imethod();SVVVVwVV*VK*ZVZr)VoidimethOd(Ninti;System.out.println(i);*v*V*w*v*W*)A.99B.0C.编译出错D.运行出错2 .请阅读下面程序,说明该程序创建线程使用的方法是publicClajQlThrcadTestin(Si
2、ringargM)(ThrcndtlnewThread(newHolloWorId()Threadt2=newThrcadCncwHolloWorld()tl.StarM)St2.start()c!ssHoIIoWorIdimplementsRUnrMhle(iniipublicvoidrun()(while(truc)(JSy5tem.out.prinln(HolIoWorId-4i+)1()oif(i三三5)breakID.t2.startA.继承Thread类B.实现RUnnable接口C.tl.start()()3 .下列叙述中正确的是()。A.程序执行的效率与数据的存储结构密切相关B
3、.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对4 .以下程序的输出结果是()publicclassko6.9publicstaticvoidmain(Stringargs)intsum=0;intko=123,4,5,6,7,8,9;for(intn=0;n3;n+)for(intm=0;mbC.s-b8 .下列表达式中,类型可以作为int型的是A.“abc+efg”B产abc,efg,Ca,+,b,D3+4”9J+”运算符的操作数个数是()A.1个B.2个C.3个D.4个IOJava类可以作为()A.类型定义机制B.数据封装机制C.类型定
4、义机制和数据封装机制D.上述都不对二、2.填空题(10题)I1.Java程序包括源代码(Java文件)由归档工具生成jar生成的Jar文件、对象状态序列化.ser文件。12 .一个类的定义分为类注释、【】和类体的定义。13 .若x=5,y=10,贝Jxy&x+=y的逻辑值为【】。14 .微机中ROM的中文意义是存储器。15 .Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和两种具体类型。16 .在一个类的内部嵌套定义的类称为17 .字符变量以类型表示,它内存中占16个bit18 .属于main。方法的返回类型是o19 .开发与运行javaapplication
5、程序需要经过的三个主要步骤为:编辑源程序、编译生成字节码、【】。20 .下面是一个类的定义,试将程序补充完整。classTestStrings;inta=66;Test(Stringsi)s=sl;)staticintgeta()returna;)三、1.选择题(10题)21 .下列关于构造方法的叙述中,错误的是()。AJava语言规定构造方法名与类名必须相同BJava语言规定构造方法没有返回值,但不用void声明CJava语言规定构造方法不可以重载DJava语言规定构造方法只能通过new自动调用22.2在OneMethOdo方法运行正常的情况下,程序段将输出()。publicvoidtest
6、()tryOneMethOd();SyStem.outprintln(COnditiOn1H);catch(ArratIndexOutOfBoundExceptione)System.out.printtln(11condition2n);catch(Exceptione)Systenl.out.println(,condition3,)0finallySystem.out.prinfln(nfinally,)5A.condition1B.condition2C.condition3D.condition1finally23 .下列关于线程优先级的说法中,正确的是oA.线程的优先级是不能改变的
7、B.线程的优先级是在创建线程时设置的C.在创建线程后的任何时刻都可以设置其优先级D.B和C24 .下列选项成员变量声明正确的是A.publicprotectedfinalinti;B.abstractclassFl.C.privatedoubleheight;D.doubleweight25 .软件详细设计主要采用的方法是()。A.模块设计B.结构化设计C.PD1.语言D.结构化程序设计26 .下列常见的系统定义的异常中,哪个是输入、输出异常0。AeClassNotFoundExceptionB.IOExceptionCeFileNotFoundExceptionDeUnknownHostEx
8、ception27 .在软件开发中,需求分析阶段可以使用的工具是()。A.N-S图B.DFD图C.PAD图D.程序流程图28 .switch语句()oA.都可以用if-elseif结构实现B.都不可以用if-elseif结构实现C.有的可以用if-elseif结构实现D.大部分不可以用if-elseif结构实现29 .若所用变量都已正确定义,以下选项中,非法的表达式是()。A.a!=4|b=lB.,a,%3C.,a,=l2DA+3230 .在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()。A.概要设计B.详细设计C.可行性分析D,需求分析四、综合应用题(2题)31
9、.本题中使用了选项卡,窗口中有一个选项卡,总共有,系统”、“声卡”、“显卡”、“网卡”和“帮助”5项选项面。单击各个选项的文字标签后,所选中的选项将为当前选项。“系统”选项上有3个复选按钮,分别控制“声卡“显卡”和“网卡”三个选项,选中某个按钮后,它所指示的选项就可imponjava.awl.imponjava.aw.event.importjavax.swing.importjavnx.nwing.event.:publicclassjava3extendsJFrame(JTabbcdPancconfignewJTabbedPAne()publicjava3()supcr(java30)ci
10、Size(500.300)sctl)efault(11ose()peration(EXnNw1.OSE)SJPanclConfigPancnewJPancK)ConfigPane.Mtj*you(newBox1.ayout(COMiaPflne.BoxMyoui.Y-XIS)JTcxtArcaquestion=newJTcxtArca(下面的哪个选事n+你想设置?Hquestion.sctEditabIe(faletquestion.XeiMaximumSiJte(newDimension(30050)Iquestion.scilignmcnX(O.Of)questionXetBackgrou
11、nd(ConfigPane.gc1ack*round()tJChcckKoxRudioCBnewJChcckBox(*p.true)sJCheckBoxnicCB=newJCheCkBOx(网卡”true)JChrckBoxIVCBnewJChcckBox(-9示卡false)Icon(gPanc.add(Box.createVcrtcalGlc()configPane.add(question)ConfigPflnr,add(auclioCB);configPanc.add(nicCB)ConfigPflnr.add(vCB):con(gPanc.add(Box.CrCatCVEiealGl
12、UCO)J1.abClaUdioPanr三newJ1.abeK声卡页面JlJbdniCPanC=-newJInBcI网K贡询”九J1.abelQVPane=newJ1.abd(8示K页面”):J1.abcIHeIpPane.newJIMbd(帮助信息,audioCB.addlem1.istener(newTabMarugcr(audioPane)1nicCB.AddItcm1.iMcncr(newTftbManagcr(nicPnnc)ttvCB.AddItem1.htencr(newTabMana&er(IvPane)jconfig.addTab(系统null*configPancChOOM
13、InStaIIedOptions)config.addTab(wJ*fnull*audioPane.Audiosystemconfiguration)tconfig.addTb(M.null*nicPune*Networkingconfiguration)CCnha.addTab(B示卡.null.tvPane,aVideosystemConfiRUralion)tconfig.addTab(R.null.helpPane.HowIJoRctContcntPanc(.add(ronfig.Borckrlayout.CENTER)1)ClaXSTabMangCrimplementsAciion1
14、.istcncr,ComponenttabtpublicTabManagcr(ComponentIabToManage)tnl=tftbToManage)PUbliCVoidhcm5tateChngc(tntindexJconfig.indcx()fComponent(tab)if(index!=1)(config.5ciEnabIedAt(index.ic.gcStacChangc()三ItcmEvent.SE1.ECTED”)th9.rcatn()publicstaticvoidmn(StrmRargs)1java3sc-newjva3(5C.SctVisibIc(Iruc)32.本题的功
15、能是跟踪鼠标在窗口的操作,以及在窗口的坐标,包括移进、移出、移动、单击、释放和拖曳,并将这些信息显示在窗口的文字标签上。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassjava3extendsJFsame.implementsMOIISe1.istenerMolISeMotiOiI1.iStener(privateJ1.abeIStatusBar;publicjava3super(njava3n);statllsBar=newT1.abel;WetContentPaiie.add(statusBar,
16、Border1.ayout.SoUTH);addMouse1.istener(this);addMouseMotion1.istener(this);setSize(275,100);show;publicvoidmouseClicked(MouseEvente)(StatusBar.setText(,Clickedatn+e.getX+,11+e.getY+1111);)PUbliCVOidmousePressed(MouseEvente)StatusBar.setText(nPressedatn+e.getX+11,11+e.getY+1111);)publicvoidmouseRelea
17、sed(MouseEvente)(StatusBar.setText(,Releasedat,+e.getX+m,11+e.getY+1111);)publicvoidmouseln(MouseEvente)(StatusBar.setText(11Mouseinwindow*);publicvoidmouseExited(MouseEvente)StatusBar.setrext(nMouseoutsidewindow*);)publicvoidmouseDragged(MouseEvente)(StatusBar.setText(nDraggedatn+e.getX+m,11+e.getY
18、+1111);)publicvoidmouseMoved(MouseEvente)StatusBar.setrext(11Movedatn+e.getX+11+e.getY+1111);publicstaticvoidmain(Stringargs)(java3app=newjava3;app.addWindow1.istener(newWindowAdapterpublicvoidwindowClosing(WindowEvente)System.exit(O););五、单选题(O题)33 .类是所有类的根,它所包含的属性和方法被所有类继承。OA.ClassB.ObjectC.StringD
19、.System六、单选题(0题)34 .若数组a定义为inta=newint34,则a是(3A一维数组B.二维数组C.三维数组D.四维数组参考答案1.C35 Bn本题考查线程的创建。在Java中,创建线程有两种方法:通过实现Runnable接口创建线程。Runnable接口中只定义了一个run(u3000u3000)方法作为线程体。通过继承Thread类创建线程,Thread类本身实现了Runnable接口。创建的新的线程不会自动运行,必须调用start(u3000u3000)方法才能运行。本题中HOlk)WOrkl类实现了RUIlIlable接口。n3 .A本题考查程序效率。程序效率是指程序
20、运行速度和程序占用的存储空间。影响程序效率的因素是多方面的,包括程序的设计、使用的算法、数据的存储结构等。在确定数据逻辑结构的基础上,选择一种合适的存储结构,可以使得数据操作所花费的时间少,占用的存储空间少,即提高程序的效率。因此,本题选项A的说法是正确的。4.B5 .CC。【解析】采用0,1,2,3,4,5,6,7八个数码,逢八进位,并且开头一定要以数字0开头的为八进制。6 .DDo【解析】顺序结构每个结点只包含自身的信息域,且逻辑上相邻的结点物理上也是相邻的。因此其存储密度大,但插入、删除运算操作不方便,需移动大量的结点。ZB顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描
21、到结点的关键字和给定值k进行比较,若当前扫描到结点的关键字与k相等,则查找成功;若扫描结束后,仍未找到关键字等于k的结点,则查找失败。二分查找法是一种效率较高的查找方法。要求线性表是有序表。基本思想是:首先将待查的k值和有序表R0-Rn-1的中间位置mid上的结点的关键字进行比较,若相等,则查找完成;否则,若Rmid.keyk,则说明待查找的结点只可能在左子表ROJ-Rmid-l中,我们只需在左子表中继续进行折半查找,若Rmid.key8.C9 .A解析:本题考查JaVa运算符的概念。这是重点内容,只需要细心即可。程序涉及的数据处理,都是通过运算符和表达式来操作,是程序设计的基础,因此务必掌握
22、。按照操作数的数目划分,运算符可以分为:一元运算符:+,,+,-;二元运算符:+,;三元运算符:?:0所以本题正确答案是选项Ao简单点儿说就是有几个操作数就是几元运算符;反过来,是几元运算符就有几个操作数。10 .CI1.由编译器生成的类(.class文件)由编译器生成的类(.class文件)12 .类声明【】类声明解析:须知道一个类的定义分为类注释、类声明和炎体的定义,这其中类注释比较容易遗忘。类注释:一般是用来解释类的,不是必要的。类声明:类的声明有时包括extends和implements,这两个关键字一般不放在同一行。类定义:类体包括构造方法和类的成员变量以及成员方法。13 .fals
23、efalse解析:此题主要是考查运算符的优先级,首先运算的是+和一两个运算符,然后是运算符,接着是=运算符,最后是&运算符。xy&x+=y等于(y)&(x+)=(y-)o14.只读只读15.double16.内部类内部类解析:内部类是嵌套在一个类的内部使用的,与普通类一样,内部类也具有自己的成员变量和成员方法。17.Char18 .voidvoid解析:本题考查main。方法的概念。main方法的返回类型是void,Java解释程序不希望从main方法那里得到返回值。Java,解释程序会生成一个退出状态,该退出状态用于解释程序的调用环境,以表明是否成功地执行了该程序和正常终止了该程序。这是个基
24、本概念题目,考生了解即可。19 .解释运行字节码解释运行字节码20.staticstatic解析:本题考查JaVa中的修饰符。static方法只能处理StatiC成员,非StatiC方法不能处理StatiC成员。题目中的geta()方法声明是StatiC的,所以其中的变量也必须声明为StatiC属性。21.C解析:本题考查的是构造方法的使用。JaVa涪言中,构造方法是一种特殊的方法,是为对象初始化操作编写的方法,用它来定义对象的初始状态。JaVa中的每个类都有构造方法,它也是由方法名、参数和方法体组成的。构造方法有如下特点:构造方法的名字必须与类名相同。构造方法不返回任何数据,但不用Voiel
25、来声明。用户不能直接调用构造方法,必须通过关键字IIeW自动调用。构造方法可由用户在类中定义,默认时由JaVa语言自动生成。但它是个空方法,变量被赋予该数据类型的默认值。在构造方法实现中,可以进行方法重载,即定义多个构造方法。重载构造方法的目的是使类具有不同的初始值,为类对象的初始化提供方便。根据上述构造方法的特点可知,本题选项C的说法是错误的。22.D23 .C解析:Java语言中线程的优先级是用一个介于MIN_PRIORITY和MAX_PRIORITY之间的整数来表示的。可以在创建线程后的任何时刻修改线程的优先级。24 .C解析:本题考查对成员变量的声明。成员变量的声明格式位:修饰符typ
26、e变量名;其中type可以是java语言中的任意数据类型,而修饰符可以是PUbIic、protected,private,static9final,transient,volatile等。选项A错误,成员变量不能同时声明成PUbliC和ProteCted。选项B是类的声明格式,并不是成员变量的声明。成员变量声明应以“;”结尾,选项D错误。选项C声明了一个私有的(IOlIble型成员变量,为正确答案。25 .D26.B解析:ClassNotFoundException为未找到欲装载使用的类异常,FlieNotFoundException为未找到指定的文件或目录异常,UnknownHostExce
27、ption为无法确定主机的IP地址异常。下面再举出几种异常:ArraylndexOutOfBoundsExeeption为数组越界使用异常;IOException为输入输出异常;NullPointerException引用为空异常;ArithmeticException算术异常。27.B解析:软件开发阶段包括需求分析、总体设计、详细设计、编码和测试5个阶段。其中需求分析阶段常用的工具是数据流图(简称DFD)和数据字典(简称DD)o常见的详细设计的图形描述工具主要有程序流程图、NS结构图、问题分析图(简称PAD图)。28.A29.C30.D通常,将软件产品从提出、实现、使用维护到停止使用退役的过
28、程称为软件生命周期。也就是说:软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。软件生命周期的主要活动阶段为:可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可行方案,制定完成开发任务的实施计划。需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件,规格说明书及初步的用户手册,提交评审。软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的
29、编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。31 .解析:第1处:ClassTabManagerimplementshem1.istener第2处:publicvoiditemStateChanged(ItemEventie)3处三java3.this.repaint()【解析】第1处实现了Item1.iSteiIer接口,用于捕捉带有Item的组件产生的事件;第2处接口中定义的itemSta
30、teChanged(hemEvente)将执行需要在已选定(或已取消选定)项时发生的操作。而这里的ie是具体的hemEvent对象,并作为参数被传递;第3处调用repaint()方法重绘。32 .第1处:extendsJFrame.implementsMouse1.istener,MouseMotion1.istenerVn第2处:9etContentPane.add(statusBarvBorder1.ayout.SOUTH)n第3处:publicvoidmouseEntered(MouseEvente)n【解析】第1处实现了两个接口,前者是鼠标单击事件的监听者,后者是鼠标移动事件的监听者;第2处实现初始化容器并添加一些控件StatusBar状态栏控件;第3处mouseEntered的作用是当鼠标进入某个组件时触发相应的动作,如实现本题的信息显示功能。33.B34.B解析:二维数组可以有如下的两种定义方式:typearrayName;typarrayName;由此可见,题目中的语句定义了一个二维数据。因此,本题的正确答案是B。