《【备考2023年】浙江省金华市全国计算机等级考试Java语言程序设计真题(含答案).docx》由会员分享,可在线阅读,更多相关《【备考2023年】浙江省金华市全国计算机等级考试Java语言程序设计真题(含答案).docx(17页珍藏版)》请在课桌文档上搜索。
1、【备考2023年】浙江省金华市全国计算机等级考试Java语言程序设计真题(含答案)学校:班级:姓名:考号:一、单选题(10题)1.在JaVa中,所有类的根类是()oAjava.Iang.ObjectB.java.Iang.ClassCjava.applet.AppletD.java.awt.Fram2,下面代码段的输出是()o1(5&.7)0&-512)system.out.prinln(trueA.编译出错B.5752C.trueD.无任何输出3 .在多线程并发程序设计中,能够给对象X加锁的语句是()。A.x.wait()B.synchronized(x)C.x.notify()D.x.sy
2、nchronized()4 .下列说法中不属于Java类库0A.网络JaVa包B.核心JaVa包CJavax扩展包D.扩展包5 .如果应用程序要在APPlet上显示输出,则必须重写的方法是()oA.Graphics.drawstringB.repaintC.paintD.update6 .一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是()。A.一对一B.一对多C.多对多D.多对一7 .在JaVa中,能实现多重继承效果的方式是一oA.内部类B.适配器C.接口D.同步8 .下列变量定义中,不合法的是()。A.intSX;B.int_123;C.i
3、ntSummer2010_gross_sale;D.int#dim;9 .Swing与aWT的区别不包括()A.Swing是由纯Java实现的轻量级构件B.Swing没有本地代码C.Swing不依赖操作系统的支持D.Swing支持图形用户界面10 .常采用的两种存储结构是0。A.顺序存储结构和链式存储结构B.散列方法和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构二、2.填空题(10题)11 .在运行时,由java解释器自动弓I入,而不用impoa语句弓I入的包是12 .设有数组定义:intMyIntArray=10,20,30,40,50,60,70);则执行下面几个语句后的
4、输出结果是【】。i11ts=0;for(inti=0;iMyIntArray.length;i+)s+=MyIntArrayi;System.out.println(三);13 .下面ChangeTitle()中对bl和b2按钮构造监听器,实现当单击bl按钮时标题变为students,当单击b2按钮时标题变为teachers。请将程序补充完整。publicChangeTitleOsuper(,TitleBar);bl.addAction1.istener(this);Jpanelpane=newJpane1();Pane.add(bl);Pane.add(b2);SetContentPane(
5、pane);)publicvoidactionPerformed(ActionEventevt)Objectsourve=evt.getSource();if(sourve=br,SetTitIe(Students”);elseif(source=b2)SetTitIe(Teachers);repaint();14 .在链表的运算过程中,能够使空表与非空表的运算统一的结构是【】。15.是Java程序的并发机制,它能同步共享数据,处理不同事件。16 .Applet类中用于返回包含Applet的HTM1.文件UR1.的方法是【】。17 .下面程序的运行结果是【】。importjava.io.*;p
6、ublicclassABCpublicstaticvoidmain(Stringargs)inti;inta=11,22,33,44,55,66,77,88,99);for(i=0;i=a.length/2;i+)System.out.print(ai+aa.length-i-l+,11);System.out.println();18 .通过【】运算符实现对成员变量的访问和方法调用。19 .若声明khara151.WindoWS-9x”;“,语句Printf(s”,a+8);”的输出结果为20 .顺序执行下列两个语句的输出结果是Strings=全国计算机等级考试”;Systeth.out.p
7、rintln(s.length()三、1.选择题(10题)21 .功能用来终止当前循环体语句的执行语句是()。A.if语句B.if-else语句C.break语句D.return语句22 .将E-R图转换为关系模式时,实体和联系都可以表示为oA.属性B.键C.关系D.域23 .复合数据类型不包括()。A.类B.接口C.数组D.指针24 .开发软件时对提高开发人员工作效率至关重要的是()。A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序人员的数量D.计算机的并行处理能力25 .下列哪个关键字通常用来对对象进行加锁,该标记使得对对象的访问是排他的?A.transientB.seria
8、lizeC.synchronizedD.static26 .一个JaVaAPPliCatiOn运行后,在系统中是作为一个()A.线程B.进程C.进程或线程D.不可预知27 .当Applet程序中的init()方法为下列代码时,运行后用户界面会出现的情况,以下描述正确的是()。PublicvoidinitOset1.ayout(newBorder1.ayout();add(11North11,newTextField(10);add(11Center,newButton(11help11);A.文本框将会出现在Applet的顶上,且有10个字符的宽度B.按钮将会出现在Applet的正中间,且尺寸
9、为正好能够包容help的大小C.文本框将会出现在APPlet的顶上,从最左边一直延伸到最右边;按钮将会出现在APPlet的正中内,覆盖除文本框外的所有空间D.按钮与文本框的布局依赖于Applet的尺寸28 .在下列说法中,正确的一项是()。AJava语言是以类为程序的基本单位的BJava语言是不区分大小写的C.多行注释语句必须以开始D.在JaVa语言中,类的源文件名和该类名可以不相同29 .下列叙述中不正确的是oAJava是新一代编程语言,具有很多优点:简单、面向对象、可移植、与硬件无关、强健安全、具有很高的性能,此外还对多线程、动态性提供了支持BJava是一种跨平台的面向对象的语言CJava
10、语言支持多线程。多线程使得应用程序可以同时进行相同的操作,处理多个同一的事件DJava解释器生成与体系结构无关的字节码结构的文件格式,只需提供相应的Java运行系统,程序便能在任何种类的处理器上运行30 .下列叙述不属于线性链表较之线性表顺序存储结构的优点的是()。A.线性链表存储方式简单B.线性链表运算效率高C.线性链表的存储空间易于扩展D.线性链表便于存储空间的动态分配四、综合应用题(2题)31 .本题的功能是对图形进行操作,包括旋转、移位、放大和剪切。窗口中有4个单选按钮和一个图形面板,图形面板中有一个矩形和该矩形移位操作后的图形,任选其中一个单选按钮,则图形面板中将显示该操作后的图形。
11、importjava.awt.*;importjava.awt.event.*;importjava.awt.geom.*;importjava.util.*;importjavax.swing.*;publicclassjava3(publicstaticvoidmain(Stringargs)(JFrame.frame=newTransformTestFrame;frame.setDefaultCloseOperation(JFrame.EXIT_ON.C1.oSE);frame.show;ClaSSTranSformTeStextendsJFrameFpublicTransfbrmTes
12、tFrame(setTitle(,java311);setSize(WIDTH,HEIGHT);ContainercontentPane=getContentPane;canvas=newTransformPanel;ContentPane.add(canvas,Border1.ayout.CENTER);JPanelbuttonPanel=newJPanel:ButtonGroupgroup=newButtonGroup;JRadioButtonrotateButton=newJRadioButton(旋转“,true);buttonPanel.add(rotateButton);group
13、.add(rotateButton);rotateButton.addAction1.istener(newAction1.istener(publicvoidactionPerformed(ActionEventevent)(canvas.SetRotate;);JRadioButtontransateButton=newJRadioButton(移位=false);buttonPanel.add(translateButton);group.add(translateButton);translateButton.addAction1.istener(newAction1.iatenerp
14、ublicvoidactionPerformed(ActionEventevent)(canvas.SetTranslate;);JRadioButtonScaleButton=newJRadioButton(放大:false);buttonPanel.add(scaleButton):group.add(scaleButton);ScaleButton.addAction1.istener(newAction1.istener(publicvoidactionPerformed(ActionEventevent)(canvas.setScale;);JRadioButtonShearButt
15、on=newJRadioButton(“剪切,false);buttonPanel.add(shearButton):group.add(shearButton);ShearButton.addAction1.istener(newAction1.istenerpublicvoidactionPerformed(ActionEventevent)canvas.setShear;);ContentPane.add(buttonPanel,Border1.ayout.NORTH):)privateTransfbrmPanelcanvas;privatestaticfinalintWIDTH=300
16、;privatestaticfinalintHEIGHT=300;)CIaSSTranSformPaneIextendJPanelFpublicTransfbrmPanel(square=newRectangle2D.Double(-50,-50,100,100);t=newAffineTransform;SetRotate;)PUbliCVOidPainteomPOnent(super.paintComponent(g);Graphics2Dg2=(Graphies2D)g;g2.translate(getWidth/2,getHeight/2):g2.setPaint(Color.gray
17、);g2.draw(square);g2.transform(t);g2.setPaint(Color.black);g2.draw(square);)publicvoidSetRotate(t.setToRotation(Math.toRadians(30);repaint;)publicvoidSetTranslate(t.setToTranslation(20,15);repaint;)publicvoidsetScale(t.setToScale(2.O,1.5):repaint;)publicvoidsetShear(t.setToShear(-0.2jO);repaint;)pri
18、vateRectangle2Dsquare;privateAffineTransform.t;32 .下面程序中,在主窗口单击鼠标后,就会生成一个新窗importjava.aw.importjva.wi.event.publiccb5j4jav/3extendsFrnmelj*va3()cr(jv3)taddNoti(y()addWindowl.istcnrr(newWndow.laptcr()publicvoidwindowt,losinR(WindowEvcntc)System.cxit(O);)Insctxnscls-gcln*cu():ctSehi1.nddMcucj?UCnCrMCU
19、SCEventHandle):ClanM。UMEVCnIH“ntHcrimkmmaMoucA4PtCrlPUbIiCVOidmouePrc*C(MOU*cEvcnevtIRectanglebounds7getIJoundsC)(ntxcv.getX(),bounds,xny,cvt.getY()+bounds,ytjava3m=newjava3()tm.edxCion(x.y)m.show()iI)MalicpublicvoidmAin(Sringars(newjava3().ShOW)11o1五、单选题(O题)33 .常采用的两种存储结构是0。A.顺序存储结构和链式存储结构B.散列方法和索引
20、方式C.链表存储结构和数组D.线性存储结构和非线性存储结构六、单选题(0题)34 .如果有一个类MyFrame是Frame的子类,但它不能被实例化,请写出该类的声明头为()。A.abstractclassFrameextendsMyFrameB.abstractclassMyFrameextendsFrameC.classMyFrameabstractextendsFrameD.classFrameabstractextendsMyFrame参考答案1.A本题考查考生对JaVa类的掌握。在JaVauiJjaVa,Iang包封装着所有编程应用的基本类。ObjeCt是所有类的根,它所包含的属性和方
21、法被所有类集成。ClaSS类是由编译器自动生成对象的一个特殊类,它伴随每个类。选项C和选项D都是普通类。35 A本题考查对位运算符和逻辑运算符的理解。位运算符和T用于按位将两个数进行与和或的操作,两个操作数可以是整型、字节型、长整型和短整型,但不能是浮点型数据。逻辑运算符只能对两个布尔型的数据进行运算,返回的结果也是布尔型的。36 B解析:Java平台将每个由SynChrOniZed(ObjeCt)语句指定的对象设置一个锁,称为对象锁。JaVa中的对象锁是一种独占的排他锁。37 A38 CCo【解析】Paint是画APPIet界面的基本方法。39 C因为一个人可以操作多个计算机,而一台计算机又
22、可以被多个人使用,所以两个实体之间是多对多的关系。40 CCo【解析】本题考查JaVa中多重继承的概念。首先要区分选项中各个概念。内部类是在一个类中的内部嵌套定义的类,主要用来生成事件适配器。适配器(AdaPter)定义一个包装类,包装有不兼容接口的对象。这个包装类指的就是适配器,它包装的对象就是适配者(AdaPtee),适配器提供客户类需要的接口。接口是一种只含有抽象方法或常量的一种特殊的抽象类,因为接口不包括任何实现,所以与存储空间没有任何关系,将多个接口合并,即多重继承就可以很容易实现,选项C正确。同步主要用在多线程程序设计中。41 DDoJaVa中标识符的命名规则为:区分大小写,例如a
23、和A是两个变量;标识符由字母、下画线、美元符号和数字组成,并且第一个字符不能是数字。42 D10AA。【解析】线性表的存储通常分为两种存储结构:顺序存储结构和链式存储结构。nll.java.langjava.lang解析:本题考查java中引入包的概念。在JaVa中,只有java.lang包是编译器自动导入的,因此变成使用该包中的类,可以省去import导入,使用其他包中的类则必须用import语句。12.28013 .b2.addAction1.istener(this);b2.addAction1.istener(this);解析:本题考查动作事件及响应的概念。在ChangeTitIe()
24、中将接收器添加到JBUttOn对象,但从程序段中可知程序只给bl添加了接收器,没有给b2添加接收器。actionPerformed(ActionEventevt)中对来自两个JButton对象的动作事件做出响应,evt对象的getSource()方法决定了事件的来源。如果它等于bl按钮,则标题设置为StUdentS,如果它等于b2,则标题设置为Teacherso需要调用repaint(),这样在方法中可能出现的标题改动之后可以重新绘制。14 .循环链表循环链表15 .多线程多线程16 .getDocumentBase()getDocumentBase()解析:getDocumentBase()
25、方法属于HTM1.标记方法,用于获取包含Applet的HTM1.文件的UR1.o17.11011011011011018.【】【】解析:通过“”运算符实现对成员变量的访问和方法调用。成员变量和方法通过权限设定来防止其他对象的访问。其格式为对象名?调用的方法名或变量名19.9x20.921.C22 .C从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-nR图中属性也可以转换成关系的属性。本题选择C选项。23 .D24.B解析:软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境。工具和环境的使用又进一步提高了软件的开发效率、维护效率和软件质量。25.C解析:用synch
26、ronized关键字实现对对象的加锁及其操作,用SynChroniZed声明的方法为同步方法。带有由SynChrOniZed标记的临界区,实现对并发操作的多个线程进行控制。26.B解析:线程为一个程序中的单个执行流;进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程。一个JaVaAPPIiCatiOn运行后,在系统中应该就是一个进程了(动态)。27 .C解析:该题考查对容器布局策略的理解。边界布局管理器Border1.ayOUt将容器按上北下南左西右东划分为东、南、西、北、中5部分,分别用英文单词East,South,N
27、orth,West,Cente来表示。其中,东、西、南、北4个方向的组件宽度为恰好能够包容组件的内容,而长度为延伸到该容器边界的长度;而对于中间的组件,它会扩充到除四边以外的整个容器区域。本题的具体情况是:文本框将会出现在叩Plet的顶上,长度为整个applet的宽度;按钮将会出现在applet的正中央,覆盖除文本框外的所有空间。28 .A解析:选项B错误,Java语言是区分大小写的。选项C错误,以开始的应该是单行注释语句;选项D错误,JaVa程序源文件名必须和PUbIiC类名相同,否则编译会出错。29 .C解析:选项C错误,多线程是Java的一个主要特性,使可执行程序具有同时保持几个线程的执
28、行的能力。不要把它与多任务混淆。多任务是指操作系统可以同时运行多个程序,而多线程可允许应用程序同时做几个不同的操作,处理多个不同的事件。30 .A解析:线性链表存储方式要求每个数据节点由两个部分组成,比线性表的顺序存储结构复杂,选项A是错误的。在平均情况下,线性表的顺序存储结构插入和删除元素需要移动线性表中约一半的元素,效率低下。而线性链表只需改变有关节点的指针,效率较高,选项B是正确的。线性表的顺序存储存储空间必须是连续的,不利于存储空间扩展;而线性链表不需要连续的存储空间,存储空间易于扩展,选项C是正确的。为保证线性表的存储空间连续且顺序分配,会导致在对某个线性表进行动态分配存储空间时,必
29、须要移动其他线性表中的数据元素,不便于存储空间的动态分配,选项D是正确的。31 .第1处:classTransformTestFrame.extendsJFramen第2处:classTransformPanelextendsJFramen第3处:publicvoidpaintComponent(Graphicsg)11【解析】第1处类中公有对象名称应与类名一致;第2处为继承的父类不正确;第3处从下面的super.paintComponent(g);可判断出应有参数Graphicsgo32 .解析:第1处:this.addMouse1.istener(newMouseEven-tHandler
30、()第2处:classMouseEventHandlerextendsMouseAdapter第3处:PUbliCvoidmousePressed(MouseEventevt)【解析】第1处参数应为实例化对象;第2处继承父类应使用extends,implements实现的是接口;第3处单击鼠标后事件应为mousePressed033 .AA。【解析】线性表的存储通常分为两种存储结构:顺序存储结构和链式存储结构。n34.BB【解析】本题考查考生对类声明的理解。类声明的格式为:修饰符class类名IeXtendS父类名implements类实现的接口列表,其中口括起来的内容为可选项。关键字ClaSS是类定义的开始,类名应符合标识符命名规则。关键字extends指明该类是子类,它的父类名紧跟其后,子类与父类之间有继承关系。关键字implements指明该类实现的接口,后跟接口名列表。考生应注意掌握类声明的概念,虽然很简单,但容易漏掉有关修饰符。题目要求声明不能被实例化的类,因此应该是一个抽象类,用abstract作为修饰符。