【备考2023年】贵州省毕节地区全国计算机等级考试Java语言程序设计真题二卷(含答案).docx
【备考2023年】贵州省毕节地区全国计算机等级考试Java语言程序设计真题二卷(含答案)学校:班级:姓名:考号:一、单选题(10题)1 .栈和队列的共同点是()oA.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同特点2 .关于内存变量的调用,下列说法中正确的是()oA.私有变量只能被本层模块程序调用B.私有变量能被本层模块和下层模块程序调用C.局部变量不能被本层模块程序调用D.局部变量能被本层模块和下层模块程序调用3.有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()oA.自然连接B.交C.除D.并4 .Applet的运行过程要经历4个步骤,其中不是运行步骤的是()。A.浏览器加载指定UR1.中HTM1.文件B.浏览器显示HTM1.文件C.浏览器加载HTM1.文件中指定的Applet类D.浏览器中的Java运行环境运行该Applet5 .下列与其他选项不相等的是()oA.15B.0xFC.015D.OXF6 .char类型的取值范围是()。A.2的7次方2的7次方减1B.0-2的16次方减1C.负2的15次方2的15次方减1D.02的8次方减17 .下列有关数组的叙述中,错误的是()oA.在同一个环境下,数组与内存变量可以同名,两者互不影响8 .可以用一维数组的形式访问二维数组C.在可以使用简单内存变量的地方都可以使用数组元素D.一个数组中各元素的数据类型可以相同,也可以不同9 .下列叙述中,错误的是()oA.父类不能替代子类B.子类能够替代父类C.子类继承父类D.父类包含子类10 在JaVa中,所有类的根类是()oA.java.Iang.ObjectB.java.lang.ClassC.java.lang.StringD.java.lang.System11 .若在某一个类定义中定义有如下的方法:abstractvoidperformDial();该方法属于()oA.本地方法B.最终方法C.解态方法D.抽象方法二、2.填空题(10题)12 .在JaVa中,所有类的根类是o13 .在下面JaVaAPPIet程序的下画线处填入代码,使程序完整并能够正确运行。importjava.applet.*;importjava.awt.*;publicclassHelloWorldpublicvoidpaint(Graphicsg)g.drawString(',HelloWorld!",25,25);)14 .Java语言提供了【】工具来管理组件在容器中的布局,而不使用直接设置组件位置和大小的方式。15 .Java语言中提供了【】来管理组件在容器中的布局。16 .数据库管理系统常见的数据模型有层次模型、网状模型和【】3种。17 .Java源文件中最多只能有一个【】类,其他类的个数不限。18 .数据流图的类型有【】和事务型。19 .要使处于不同层次,甚至是互不相关的类可以具有相同的行为采用20 .在关系模型中,把数据看成一个二维表,每个二维表称为一个21 .Java源程序文件编译后产生的文件称为字节代码文件,其扩展名为Jo三、1.选择题(10题)22 .二元算术运算表达式的两个操作数全是short类型的数据,则表达式的结果应该是()类型。A.shortB.intC.byteD.long23 .java.ni。包的新特点是内存映射技术、字符及编码、非阻塞I/O和下列哪一项?A.文件锁定B.文件共享C.文件保护D.文件散列24 .下列()布局管理器能够帮助用户处理两个或者两个以上的成员共享同一个显示空间,它把容器分成许多层,每层显示空间占据这个容器的大小。A.Card1.ayoutB.BOrder1.ayoutC-Flow1.ayoutD.Grid1.ayout25 .关于下面程序段的说法,正确的是importjavA.applet.*;importjava.awt,*;publicclassTestextendsAppletImageIMGnClick=over(this)title=放大;publicvoidinit()IMGnClick=over(this)title=放大=newImage();publicvoidpaint(Graphicsg)g.drawlmage(IMGnClick=over(this)title=放大Qo,this);A.该程序段可以正常运行B.程序中所创建的Image为空,但可以显示C.程序中所创建的Image不为空D.程序中所创建的Image为空,不能显示26 .线程组是一个Java特有的概念,在Java中,线程组是类ThreadGronp的对象,每个线程都隶属于()个线程组。A.OB.1C.2D.可以多于227 .下列语句序列执行后,j的值是()。intj=9,i=6;while(i->3)-j;A.5B.6C.7D.828 .一个血类型的常量和一个byte类型的常量做加法,则其结果的类型为()。A.intB.byteC.charD.long29 .设有如下程序:publicclassSunpublicstaticvoidmain(Stringargs)intx,y;x=(int)Math.sqrt(2)2+(int)Math.random()*22;y=(int)Math.sqrt(3)3+(int)Math.random()*33;if(x>y)System.out.println(11x>y");elseif(x=y)System.out.println(,x=y11);elseSystem.out.println(,x<yn);程序运行的结果为()。A.x>yB.x=yC.x<yD.以上都不对30 .下列()修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问。A.privateB.无修饰符C.publicD.protected31 .下列叙述中正确的是oA.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致四、综合应用题(2题)31.本题的功能是定义图形按钮。窗口中有两个图形按钮,当鼠标移上去时,图形按钮的图形将改变,用鼠标单击按钮时图形按钮的图形又发生改变,当鼠标左键松开或者移开鼠标后,图形按钮的图形又恢复原importJSVax.swing.importjava,awt,PUbhCda*sjava3CXtendJBUtK)n:publicjava3(lconicon.Iconpressed.Iconrollover)(IhiMicon)setFocusPainted(false)setRoIlovcrEnabIed(true)SCtRO11。VerkOn(rollover)sctPresscdlcon(prcsiscd)t5ctBordcrPamted(false)tJictContentAreaEil1cd(fa5c)oIpublicStAficvoidmain(Stringargt)<JaVn3bl:newjav3(newIm”XCIcOn"jiiv®3-rcdcubc.ri(")newInUIXCleon"jmv3rcdMW.gf>>newImagclcon("java3-reddiamond.g(">)javn3b2-newjav*3(new!mBgelcon("jftva3-bluccube.g«f">newltnnc!con("java3-blurpaw.gif"),newlmagckon("jav3-Ulucdiamond.Rif">)JFmmef-newJFramc(>f.«ctTitle("jftva3")i.et(ultClMf<>pcrnton(JFramc.EXlT_ON_C1.OSE)tC=f,RelCOrHEanC)c. 5et1.aynui(newFlowIutyoulO):d. add(bl)Ie. dd(b2)f. >ack<>g. setVisibk(true)32.本题的功能是定义自已的组件类。窗口中排布着12个按钮,鼠标移动按钮时,按钮背景颜色改变,用鼠标单击按钮时,后台将显示该按钮对应的字imporjava.awl.timportjava.aw.event.一;importjava,ulil.ciasAjav3extendsFrame(Stringkcy-“123456789OMjava3()sudc("iava3")n<ldWmdowl.istcner<newWindowAdapter(>publicvoidWlndCWClosing(WindOWEV<nc)System.cxi(O)sct4yout(newGrid1.ayoUt(43.66)for(inti-09iVkcyslcngltui):KeyButionkl>:newKcyBuUon(ktys.charAt(i)kb."ddky1.Mcpcr(tg)tkb.5eBackgr0und(Cofor.pink>kb.sctForcRrond(Color,biack)add(kb)tftctSixc(200.200)1show(>:)ClaKJIKVyEVentFkndkrextendsKcyAdapicr(publicvoidkeyTypcd(KcyEventevt>SyStC3.OU1.PrintIn(Cvt.gciChar(>),I)publicstaticvoidmain(SlrinRJars)newjava3()t)Ic55KcyButionCXtendACOmpOnCnl1:Kcy1.istencrkey1.istenenbooleanhighlighted;charkey1KeyButton(chark)this,key三kaddM。UMa1.i!Ucncr(n<wMuuscCvcntHandkr():publicvoidPaint(GrnPhiCSg>(intWgeStzc(>.width:inih=gciSizc<).heightStrings三-rIccyiFontMetricsfm=-g.gctFontMctrics(>if(highlighted)(R.5riC0l0r(gefBackgr0und()g.fillRoundR<!ct(O.O.w-1.h1.10«10)Ig.sctColor(getEorrgroundC)h. drawRoundRcct(O.0w-I,h-1.10.10)tg.drnwSuing(<w(m.JaringWldth(八))/2,<h(m.gelHcight()>2Hfm.getsccn(>)1CIaJiSMOUSCEvrnIHandlCrexicndsMOgCAdjtcr,PUbliCvoidmouMPrr>s<,d(MouscEvcntcv)(ifCkcy1.ijtlrnvr!1.null)(kcy1.5icncr.kcyTypc<KnewKcyEvcni(KcyBuuon.thin.KcyEvcn!.KEY.TYPED.System.currcnTimeMtllis().O.KcyEvcni.VK.UNDEFINED,kvy>)publicvoidmou*eEntcrcd(MouscEvcntCVl),;highlightedrucsrepaint();)publicvoidmouseExiu,d<MoueEvcncvl)(highlighted-falwrepaint()publicsynchronizedvoidaddKcyl.iMcncr(Kcy1.isIenerI)(kcyl.iMcncrAWTEVCnlMUIliCa”er.add(key1.iMcncr*)publicsynchronizedvoidremovcKey1.iMcncr<Key1.istenerI)'key1.istener=AWTEvcntMukicaMcr.remove(key1.istener.Dt五、单选题(O题)33 .假设int类型的变量x、y和z,它们的初始值分别为10、20和30,则布尔表达式x<10lly>10&&z<10的值为oA.falseB.lC.trueD.无法判断六、单选题(0题)34 .在多线程并发程序设计中,能够给对象X加锁的语句是()。A.x.wait()B.synchronized(x)C.x.notify()D.x.synchronized()参考答案1.C解析:栈和队列都是操作受限制的线性表,只允许在端点插入和删除。不同点是:栈只允许在表的一端进行插入和删除操作,而队列允许在表的一端进行插入操作,而在另一端进行删除操作。2.B解析:在程序中直接使用C殳有通过PUB1.IC和1.OCA1.命令事先声明)而由系统自动隐含建立的变量都是私有变量。私有变量的作用域是建立它的模块及其下属的各层模块。局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。当建立它的模块程序运行结束时,局部变量自动释放,局部变量用1.OCA1.命令建立。3.C4.B解析:Applet的运行过程要经历4个步骤:浏览器加载指定UR1.中的HTM1.文件;浏览器解析HTM1.文件;浏览器加载HTM1.文件中指定的Applet类;浏览器中的Java运行环境运行该Applet;由此可知B选项中内容不是其步骤之一。5.C本题考查Java语言中的迸制换算。考生首先要清楚各种进制的表示方法.整型常量有3种书写格式:十进制整数,如156,-230,345;八进制整数:以0开头,如012表示十进制的10;十六进制整数:以OX或OX开头,如0X123表示十进制数291。选项A是十进制的15,选项B和选项D都是十六进制中的F相当于十进制的15,选项C为八进制,以0开头,此处015相当于十进制的13,与其他选项不同。6.B解析:本题考查Java中数据类型的取值范围。应该掌握常用的数据类型的取值范围,Char类型在内存中占16位,取值范围是065535也就是02的16次方减1,选项B正确。7 .A解析:整个数组的数据类型为A(Array)1而各个数组元素可以分别存放不同类型的数据。在使用数组和数组元素时,应注意如下问题:在任何能使用简单内存变量的地方都可以使用敷组元素。在同一个环境下,数组名不能与简单变量名重复。可以用一维数组的形式访问二维数组。8 .DDo【解析】本题考查继承的概念。继承性是面向对象方法的一个重要基本特征,它使代码可重用,可降低程序的复杂性。对一个类的继承也就是构建了一个子类,子类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。重点掌握两点:子类方法的访问权限比父类的访问权限高,因此父类不能替代子类,但子类能够代替父类,选项A和选项B说法正确;子类方法不能产生比父类更多的异常。选项D为正确答案。9 .AAo【解析】本题考查考生对JaVa类的掌握。在JaVa中java.Iang包封装着所有编程应用的基本类。ObjeCt是所有类的根,它所包含的属性和方法被所有类集成;Class类是由编译器自动生成对象的一个特殊类,它伴随每个类;Strin9是字符串常量的类;SyStem类是一个final类,所有的方法都用类变量来调用,即对SyStem类不可能实例化,主要提供了标准输入/输出和系统环境信息的访问、设置.10 .DI1.ObjectObject解析:本题考查考生对Java类的掌握。在Java中javalang包封装着所有编程应用的基本类。ObjeCt是所有类的根,它所包含的属性和方法被所有类集成。Class类是由编译器自动生成对象的一个特殊类,它伴随每个类。12 .extendsApplet13 .布局管理器布局管理器解析:JaVa语言中,提供了布局管理器这个工具来管理组件在容器中的布局,而不使用直接设置组件位置和大小的方式。在程序中安排组件的位置和大小时,应该注意以下两点。容器中的布局管理器负责各个组件大小和位置的设置,因此用户无法在这种情况下设置组件的这些属性。如果试图使用Java语言提供的set1.ocation()xSetSiZe()、SelBoUndS()等方法,则都会被布局管理器覆盖。如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:set1.ayout(null)o14 .布局管理器布局管理器解析:图形用户界面编程主要包括3个方面:组件的创建、布局管理和事件处理。布局管理器管理组件在容器中的布局。15 .关系模型关系模型解析:数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,是用户与数据库之间的一个标准接口。其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。16 .publicpublic解析:JaVa源文件中最多只能有一个PUbIiC类,其他类的个数不限,这是JaVa程序结构的要求。相类似的要求还有:一个源文件中package语句只能有O个或1个;import语句可以有0个或多个。17 .变换型变换型解析:典型的数据流类型有两种:变换型和事务型。变换型是指信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理后再沿输出通路变换成外部形式离开软件系统。在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务。18 .接口接口解析:本题考查接口的概念。接口是一种只含有抽象方法或常量的特殊的抽象类,主要功能有:不管类的层次,可实现互不相关的类具有相同的行为;通过接口可以说明多个类所需实现的方法;通过接口可以了解对象的交互界面,无需了解对象所对应的类。通过接口可以为没有任何关系的两个或多个类之间提供相同的行为方式。19 .关系关系解析:在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。表中的每一列称为一个属性,相当于记录中的一个数据项。对属性的命名称为属性名。表中的一行称为一个元组,相当于记录值。20 .class(或.class)class(或.class)21.B解析:当二元算术运算符表达式的两个操作数全是short类型时,则表达式的结果应该是H类型。这个规则也适用于byte类型。22.A解析:文件锁定的概念是当多个线程对于同一个文件进行访问时,文件锁定实现对多个文件的访问同步,避免文件的不安全。java,nio包的新特点还有内存映射技术(由于内存的速度远比硬盘快,所以把硬盘的内容映射到内存中,这样访问速度会大大提高)、字符及编码(统一字符集,便于调用和管理)、非阻塞1/0(用于消除线程读写时的阻塞)23.A24.D解析:本题考查Image的概念和用法。程序的目的是想要使用drawlmage(lmageimg,i11tx,inty,ImageObserverObSerVer)方法将img在APPIet中画出,但由于程序段所创建的Image为空,不能显示,应该先调用getlmage()获取已经存在的图像。所以选项D正确。25.B解析:本题是对线程组概念的考查。线程组是一个Java特有的概念,在JaVa中,线程组是类ThreadGrOUP的对象,每个线程都隶属于唯一一个线程组,这个线程组程创建时指定并程的整个生命期内都不能更改。可以通过调用包含ThreadGroup类型参数的Thread类构造函数来指定线程所属的线程组,若没有指定,则线程默认地隶属于名为SyStem的系统线程组。在JaVa中,除了预建的系统线程组外,所有线程组都必须显式创建。在JaVa中,除系统线程组外的每个线程组又隶属于另一个线程组,可以在创建线程组时指定其所隶属的线程组,若没有指定,则默认地隶属于系统线程组。这样,所有线程组组成了一棵以系统线程组为根的树。JaVa允许对一个线程组中的所有线程同时进行操作,比如可以通过调用线程组的相应方法来设置其中所有线程的优先级,也可以启动或阻塞其中的所有线程。Java的线程组机制的另一个重要作用足线程安全。线程组机制允许通过分组来区分有不同安全特性的线程,对不同组的线程进行不同的处理,还可以通过线程组的分层结构来支持不对等安全措施的采用。JaVa的ThreadGroup类提供了大量的方法来方便我们对线程组树中的每一个线程组以及线程组中的每一个线程进行操作。26.B27.A解析:int类型常量和byte类型的常量做加法时,byte类型常量自动转换为i11t类型,因此最后的结果应该是i11t类型的值。28.B解析:本题是考查对if-else分支结构和几个标准函数语句的理解。程序第2、第3行赋值号右边的两个表达式分别求两个标准函数的值,再进行整除,根据我们对标准函数的理解,其中每项的值均为0,于是,两个表达式的值均为0,分别赋值给变量X和y,很容易判断出X是等于y的。进入分支结构后,if语句的条件X>y不满足,转去执行elseif语句,条件x=y满足,执行SyStem.out.printlnCx=y)输出x=y。故本题答案是B。29.B解析:PriVate是保护程度最高的访问说明符。采用这种访问说明符说明的成员只能被同一个类的方法访问。Public是要求最为宽松的访问说明符。通过将类的成员指定为public,可以使得该成员能够被所有类访问,包括其他包中的类和所有的字类。ProteCted成员允许类本身、子类以及在相同包中的类访问。而在缺省状态下,这种成员可以被同一个包中的其他类访问,但不能被当前类的子类访问,也不能被其他包中的类访问。所以本题选择B。30 .C解析:数据库不是一个独立的系统,它需要操作系统的支持,选项A错误;设计数据库的目的是设计出满足实际应用需求的实际关系模型,选项B错误;数据库技术的主要目的是有效地管理和存取大量的数据资源,包括:提高数据的共享性,使多个用户能够同时访问数据库中的数据;成小数据的冗余,以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价,选项C正确。数据库系统中,数据的物理结构和逻辑结构可以相互独立,选项D错误。31 .解析:第1处:publicclassjava3extendsJButton第2处:super(icon)第3处:Containerc=f.getContentPane()【解析】第1处继承父类应使用关键字extends;第2处弓I用父类应使用super;第3处变量C使用前类型未定义。32 .解析:第1处:inti=O;i第1处:inti=0;i<keys.length(u3000u3000);i+rn第2处:kb.addKey1.istener(newKeyEventHandler(u3000u3000)rn第3处:system.out.println(evt.getKeyChar(u3000u3000)rn【解析】第1处是作为遍历keys中元素的条件,而keys的字符元素就是各个按钮对应的字符;第2处注册键盘事件监听功能,KeyBUttOn实现了Key1.lStener接口,而kb是KeyBUtton类的对象,所以它是合格的监听者;第3处将从键盘读到的字符输出。33 .A34.B解析:Java平台将每个由SynChrOniZed(ObjeCt)语句指定的对象设置一个锁,称为对象锁。JaVa中的对象锁是一种独占的排他锁。