2022年黑龙江省牡丹江市全国计算机等级考试Java语言程序设计真题一卷(含答案).docx
2022年黑龙江省牡丹江市全国计算机等级考试JaVa语言程序设计真题一卷(含答案)学校:班级:姓名:考号:一、单选题(10题)1.执行下面程序段后,2值为()ointX=1,y=2,z=3;Z=z(float)(xy);A.编译无法通过B.6C.3D.22.从工程管理角度,软件设计一般分为两步完成,它们是()。A.概要设计与详细设计B.过程控制C.软件结构设计与数据设计D.程序设计与数据设计3Java语言中,int类型占用的二进制位数是()A.8位B.16位C.32位D.64位4 .下列代码中,将引起编译错误的行是()1) publicclassExercise2) )publicstaticvoidmain(StringargsQ)3) )floatf=0.0;4) f+=1.0;5) )6) A.第2行B.第3行C.第4行D.第6行5 .下列关于正则表达式的说法,不正确的是()。A.在J2SE1.4中的正则表达式包中有一个Pattern类B.在J2SE1.4中的正则表达式包中有一个Macher类C.在J2SE1.4中的正则表达式包名为javA.util.regexD.以上说法都不对6 .线程在生命周期中要经历5种状态。如果线程当前是新建状态,则它可到达的下一个状态是()oA.运行状态B.阻塞状态C.可运行状态D.终止状态7 .在JaVa语言中,被称为内存分配的运算符是A.newB.instanceofC.D.()8下列不属于表达式语句的是()oA.+i;B.J;C.b#a;D.b*=a;9Java语言中数值数据的类型能自动转换,按照从左到右的转换次序为OoA.byteintshortlongfloatdoubleB.byteshortintlongfloatdoubleC.byteshortintfloatlongdoubleD.shortbyteintlongfloatdouble10 .编译Javaapplet源程序文件产生的字节码文件的扩展名为()AjavaB.classC.htmlD.exe二、2.填空题(10题)11 .执行下面的程序段,输出结果为【】。publicclassQ(publicstaticvoidmain(Stringargv)(intanar=newint5;System.out.pri11tln(anar0);)12 .AWT中的布局管理器包括Border1.ayouts、Card1.ayoutsGridBag1.ayout和Grid1.ayouto13 .在捕获异常时要用【】子句。14 .一个项目具有一个项目主管,一个项目主管可管理多个项目。则实体集“项目主管”与实体集“项目”的联系属于的联系。15 .在java.swing包中,定义了两种类型的构件。顶级容器和轻量级构件。其中顶级容器包括JFrame,JApplet,JDiaIOg和o16 .下面OneFrame类创建了一个名为ThisisaFrame的窗口°importjava.awt.*;publicclassOneFrame.extendsFramepublicstaticvoidmain(Stringargs)OneFrame.fr=newOneFrame(11ThisisaFrame");fr.setSize(200,200);fr.setBackground(Color.yellow);)publicOneFrame(Stringstr)(SUPer(Str);调用父类Frame的构造函数)在画线处添加空缺语句使程序能够正确运行。17 .PrintStream类是【】流特有的类,实现了将JaVa基本数据类型转换为字符串表示。18 .多线程程序设计的含义是可以将一个程序任务分成几个并行的【】。19 .AWT事件分为两大类:低级事件和高级事件。其中【】一是指基于语义的事件,它可以不和特定的动作相关联,而依赖于触发此事件的类。20 .编写同时具有Applet与Application的特征的程序,具体方法是:作为Application要定义main()方法,并且把所在的类定义为一个【】类。为使该程序成为一个Applet,main()方法所在的这个类必须继承Applet类或【】类。21 .在JaVa类库中,提供构建和管理用户图形界面功能,封装抽象窗口的包是()。A.iava.util包B.java.bean包C.java.awt包D.java.rmi包22 .下面选项中不属于面向对象程序设计特征的是oA.继承性B.多态性C.类比性D.封装性23 .使用白盒测试法时,确定测试数据应该根据()和指定的覆盖标准。A.程序的内部逻辑B.程序的复杂结构C.使用说明书D.程序的功能24 .下面的()关键字通常用来对对象加锁,从而使得对对象的访问是排他的。A.serializeB.transientC.synchronizedD.static25 .下列属于条件运算符的是()。A.?:B.&&C.>>D.+26 .有定义imn=789;,下列表达式结果为8的是A.n/10%2B.(n-n%10)/100C.n%10D.n%100/1027 .能向内布直接写入数据的流是()。A.FileOutputStreamB.FilelnputStreamC-ByteArrayOutputStreamD-ByteArraylnputStream28 .用树形结构来表示实体之间联系的模型称为()。A.关系模型B.层次模型C.网状模型D.数据模型29 .下列哪个选项不是JaVa的保留字?A.TRUEB.booleanC.intD.public30 .下列选项成员变量声明正确的是A.publicprotectedfinalinti;B.abstractclassFl.C.privatedoubleheight;D.doubleweight四、综合应用题(2题)31 .注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行“*Found*”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:阅读Java_3.java程序,该程序功能是从1开始,每秒打印一个递增的整数。完成程序的编写,运行所得结果是在控制台每秒打印123并有消息窗口提示“退出程序?”如下:消息退出役序?×1按确定键结束程序打印。给定源程序:程序的功能是从1开始,每秒打印一个递增的整数。importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjavax.swing.*;importjavax.swing.Timer;publicclassJava_3publicstaticvoidmain(Stringargs)Action1.istenerlistener=newTimePrinter();*Found*Timert=newTimer(1000,);t.start();Jc)PtionPane.showMessageDialog(null,”退出程序?”);System.exit(O);)*Found*classTimePrinterimplements*Found*publicvoidaction(ActionEventevent)i+;System.out.println(i);Toolkit.getDefaultToolkit().beep();)inti=O;32 .下面程序中,在主窗口单击鼠标后,就会生成一个新窗口。importjava.awt;importjava.awt.event.*;publicclassjava3extendsFramejava3()super(',java311);addNotify();addWindow1.istener(newWindowAdapter()publicvoidwindowClosing(WindowEvente)System.exit(0););Insetsinsets=getlnsets();setSize(insets.left+insets.right+150,insets.top+insets.bottom+150);this.addMouse1.istener(MouseEventHandler():FCIaSSMOUSeEVentHandIKrimplementsM。USeAdaPtrPUbliCVOidm。USePreSSe(MKUSeEVentevt)Rectanglebounds=getBounds();intx=evt.getX()+bounds.x;inty=evt.getY()十bounds.y;java3m=newjava3();m.set1.ocation(x,y);m.show();)staticpublicvoidmain(Stringargs)(newjava3().show();)五、单选题(O题)33 .Java中的线程模型由三部分组成,与线程模型组无关的是()。A.虚拟的CPUB.程序代码C.操作系统的内核状态D.数据34 .下列叙述中,不属于数据库系统的是()。A.A.数据库B.数据库管理系统C.数据库管理员D.数据库应用系统参考答案1.AAo【解析】本题考查JaVa的运算和类型转换。题目中变量x、y、Z是int类型,由于括号的优先级要高,所以语句(fk>at)(xy)的结果为O.0,分母已经成为0,编译肯定无法通过。另外,由于2是int型,不能将float型强制转化为int型。2 .A解析:从工程管理角度看,软件设计分为两步完成:概要设计与详细设计。概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。3 .C4.B5 .C解析:本题考查J2SE1.4中的正则表达式。记忆型题目,没有太大难度,考生记住即可。java.util.regex和.UR1.类相结合,用于网络上的字符输入流的模式字符串搜索中。6 .C解析:本题考查线程的生命周期。线程一旦创建,就开始了它的生命周期。线程的声明周期主要分为:新建状态(new),线程创建后处于该状态:可运行状态(Runnable),新建的线程调用Start()方法,将使线程的状态从NeW转换为RUnnabIe,所以选项C正确;运行状态(RUnning),运行状态使线程占有CPU并实际运行的状态;阻塞状态(BIOCked),导致该状态的原因很多,注意区别;终止状态(Dead),线程执行结束的状态,没有任何方法可改变它的状态。7 .A解析:在Java中对内存进行动态分配的只有通过使用关键字newoinstanceof用于测试某个对象是否为某个类的实例;小()是与数组、函数声明或运算相关的符号,不涉及内存分配。8 .C前两项是自加减运算,最后一项是b=b*a9.B1 0.B解析:该题考查对Applet运行中所需要的几种文件的理解。Applet源程序与任何JaVa源程序一样,其文件扩展名都为java,编译之后生成的目标文件的扩展名为CIaSS,但要执行该小程序必须有相应的html文件;而.exe文件根本就与JavaApplet不沾边。11.012 .Flow1.ayoutFlow1.ayout解析:为了实现跨平台的特性并且获得动态的布局效果,Java将容器内的所有构件安排给一个“布局管理器”负责管理,不同的布局管理器使用不同的算法和策略,容器可以通过选择不同的布局管理器来决定布局。AWT中的布局管理器包括:Border1.ayout.Flow1.ayoutxCard1.ayoutxGridBag1.ayout和Grid1.ayouto13 .try-catchtry-catch解析:try和catch语句在捕获异常时使用,当此语句执行时,解释器把可以产生异常的代码段形成一个“警戒区”,此“警戒区”由try引导。“警戒区”后面是CatCh从句,其后可接多个CatCh语句。14 .一对多一对多解析:实体集项目主管”与实体集项目”的联系属于一对多的联系。15 .JwindowJwindow解析:SWing与AWT不同的其中一点就是SWing将容器分为不同类,有顶层容器,中间容器,特殊容器和基本容器等等。在顶层容器中,就有题目中所叙述的四个容器。16 .fr.setVisible(true);fr.setVisible(true);解析:本题考查IaVa组件中容器的基本知识。JaVa中容器默认是隐藏的,要将SetViSible()参数设置为true才会显示。17 .字节输出字节输出解析:PrintStream类是FilteroUtPUtStream类的子类,一般用于System.out和Systemerr中,在控制台输出标准的字符串。18 .子任务子任务解析每一个程序在执行过程中,可以产生多个线程,每个线程执行一个子任务,各个线程之间并行执行,每个子任务合起来共同构成一个任务。19 .高级事件【】高级事件解析:AWT事件分为两大类:低级事件和高级事件。低级事件是指基于构件和容器的事件,当在一个构件上发生事件,如:鼠标的点击、拖入等;高级事件是指基于语义的事件,它可以不和特定的动作相关联,而依赖于触发此事件的类。20.PublicJapplet21.C22.C解析:通常认为,面向对象方法具有封装性、继承性、多态性几大特点。就是这几大特点,为软件开发提供了一种新的方法学。封装性:所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中(对象中)。简单地说,封装就是隐藏信息。这是面向对象方法的中心,是面向对象程序设计的基础。继承性:子类具有派生它的类的全部属性(数据)和方法,而根据某一类建立的对象也都具有该类的全部,这就是继承性。继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会自动改变,子类会继承其父类所有特性与行为模式。继承有利于提高软件开发效率,容易达到一致性。多态性:多态性就是多种形式。不同的对象在接收到相同的消息时,采用不同的动作。例如,一个应用程序包括许多对象,这些对象也许具有同一类型的工作,但是却以不同的做法来实现。不必为每个对象的过程取一过程名,造成复杂化,可以使过程名复用。同一类型的工作有相同的过程名,这种技术称为多态性。经过上述分析可知,选项C的说法是错误的。23.A白盒测试是把测试对象看作是一个打开的盒子,允许测试人员利用程序内部的逻辑结构及相关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试。所以,白盒测试的对象基本上是源程序,以程序的内【知识拓展】软件测试按照功能划分可以分成白盒(白箱)测试和黑盒(黑箱)测试。其中黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。24 .CC。【解析】本题考查Java中对象加锁的概念。Java是多线程的语言,多个线程可以“同时”访问同一数据区,而在处理某些数据时不希望其他的线程修改那些数据的值或者某些操作是不可打断的,要做到这个,可以使用synchronized关键字声明这一点。25 .A解析:?:为条件运算符;&&为布尔逻辑运算符;>>为位运算符;+为算术运算符。26 .D解析:/比%的优先级要高。n/10%2的结果应是0,n/10结果为78,用78在除以2求余则得0;(n-n%10)/100的结果应是7,n%10得9,780/100得7;n%10的结果显而易见是9。27 .C解析:本题考查对象的串行化。一个类只有实现了Serialiazable接口,它的独享才是可串行化的,所以本题答案为B。28 .B解析:在数据库系统中,由于采用的数据模型不同,相应的数据库管理系统(DBMS)也不同。目前常用的数据模型有3种:层次模型、网状模型和关系模型。在层次模型中,实体之间的联系是用树结构来表示的,其中实体集(记录型)是树中的结点,而树中各结点之间的连线表示它们之间的关系。所以,本题的正确答案是B。29 .A解析:JaVa是区分大小写的,true是Java的保留字,而TRUE不是。boolean,int和public都是Java的保留字。30 .C解析:本题考查对成员变量的声明。成员变量的声明格式位:修饰符type变量名;其中type可以是java语言中的任意数据类型,而修饰符可以是PUbIic、Proteeted,private,static,final,transient,volatile选项A错误,成员变量不能同时声明成public和protectedO选项B是类的声明格式,并不是成员变量的声明。成员变量声明应以结尾,选项D错误。选项C声明了一个私有的double型成员变量,为正确答案。3l.Iistener;Action1.istener;Performed第1处:对象参数,需填入IiStener第2处:多重接口,需填入Action1.istener第3处:ACtiOn1.iStener接口只提供了一个actionPerformed()的方法,以完成事件发生的处理操作,因此在此处需填入rnPerformed32 .第1处:this.addMouse1.istener(newMouseEventHandler()第2处:classMouseEventHandlerextendsMouseAdapter第3处:publicvoidmousePressed(MouseEventevt)第1处参数应为实例化对象;第2处继承父类应使用extends,implements实现的是接口;第3处单击鼠标后事件应为mousePressedo33 .CC。【解析】JaVa中线程模型包含三部分,一个虚拟的CPU;该CPU执行的代码;代码所操作的数据。34.D解析:数据库系统(DatabaSeSyStem,简称DBS)由如下几部分组成,即数据库、数据库管理系统、数据库管理员、硬件和软件。