《备考2023年山东省聊城市全国计算机等级考试Java语言程序设计测试卷(含答案).docx》由会员分享,可在线阅读,更多相关《备考2023年山东省聊城市全国计算机等级考试Java语言程序设计测试卷(含答案).docx(20页珍藏版)》请在课桌文档上搜索。
1、备考2023年山东省聊城市全国计算机等级考试Java语言程序设计测试卷(含答案)学校:班级:姓名:考号:一、单选题(10题)1 .结构化程序设计的3种基本结构是()。A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移2 .下面叙述中错误的是()。A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也被称为DebugD.软件测试应严格执行测试计划,排除测试的随意性3 .在JaVa中语句,运算符&实现()。A.逻辑或B.逻辑与C逻辑非D.逻辑相等4 .继承是Java语言的一个重要机制,所有的Java类都继承自
2、根类()OA.A.ClassB.ObjectC.StringD.Date5 .下列说法中不属于Java类库()A.网络JaVa包B.核心JaVa包CJavax扩展包D.扩展包6 .下列关于APPlet的叙述中,错误的是()。A.Applet是Java类,所以可以由JDK中的解释器java.exe直接解释运行B.Applet应该定义为java.applet.Applet类或javax.SwingJAppkt类的子类C.Applet与Application的主要区别在执行方式上D.通过在HTM1.文件中采用PARAM标记可以向Applet传递参数7.switch语句不能用于下列哪种数据类型?()A
3、.doubleB.byteC.shortD.char8.执行完语句intJX=newin25;后,则下列说法中正确的是()。A.x24值为0B.x24值未定义C.x25值为0D.x0值为空9.int型PUbliC成员变量MAXj1.ENGTH,该值保持为常数100,则定义这个变量的语句是()oA.publicintMAX.1.ENGTH=100B.finalintMAX.1.ENGTH=100C.publicconstintMAX_1.ENGTH=100D.publicfinalintMAX.1.ENGTH=10010.以下各选项中能正确声明一个表示50个值为null的字符串数组的是()。A.
4、stringa;B.stringa;C.chara503D.stringa=newstring50J二、2.填空题(10题)11 .软件测试分4个步骤进行,即单元测试、集成测试、确认测试和【】。12 .关系中的属性或属性组合,其值能够唯一地标识一个元组,该属性或属性组合可选做为【】。13 .Java对象串行化技术,主要是通过叫ObjeCtlnPUtStream类和类来实现。14 .编写同时具有Applet与Application的特征的程序,具体方法是:作为Application要定义main()方法,并且把所在的类定义为一个【】类。为使该程序成为一个Applet,main()方法所在的这个类
5、必须继承Applet类或【】类。15 .1Ong类整型常量书写表示时,要在数字后面加或016 .线程在生命周期中要经历5种状态,分别是新建状态、可运行状态、运行状态、状态和终止状态。17 .执行下面的程序段,输出结果为【】。publicclassQ(publicStaticVbidmain(Stringargs)(intanarJ=newint5;System.out.println(anarlOJ);)18 .异常分为运行异常、捕获异常、声明异常和o19 .文件类【】是java,i。中的一个重要的非流类,里面封装了对文件系统进行操作的功能。20 .位运算符分为逻辑运算符和【】运算符。三、1.
6、选择题(10题)21 .数据库设计包括两个方面的设计内容,它们是()。A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计22 .下面描述中,符合结构化程序设计风格的是oA.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用goto语句23 .在JaVa中,线程是()。A.分时的B.抢占式的C非抢占式的D.非分时的24 .结构化程序设计主要强调的是0。A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性25 .下列哪个关键字通常用来对对象进行加锁,该
7、标记使得对对象的访问是排他的?A.transientB.serializeC.synchronizedD.static26 .下列程序的功能是在监控台上每隔一秒钟显示一个字符串“你好!”,能够填写在程序中画线位置,使程序完整并能正确运行的语句是publicclassExamimplementsRunnablepublicstaticvoidmain(Stringargs)Examt=newExam();Threadtt=newThread(t);tt.start();publicvoidrun()for(;)try;catch(e)SyStem.out.println(“你好!”);)A.sl
8、eep(l)RuntimeExceptionB.t.sleep(l000)InterruptedExceptionC.Thread.sleep(l)InterruptedExceptionD.Thread.sleep(l000)InterruptedException27 .阅读下面程序publicclassMyValpublicstaticvoidmain(Stringargs)MyValm=newMyVal();m.amethod();publicvoidamethod()booleanb=newBoolea1.5;程序编译或运行的结果是A.lB.nullC.,D.编译不通过28 .Swi
9、ng构件必须添加到Swing顶层容器相关的A.选项板上B.复选框内C.内容面板上D.分隔板上29 .下列叙述中正确的是()。A.入栈运算只须将新元素插到栈顶指针指向的位置B.出栈运算只须将栈顶元素赋给一个指定变量C.出栈运算与读栈顶元素是相同的操作D.读栈顶元素不删除栈顶元素30 .当一个应用程序的所有非守护线程终止运行时,但仍然有守护线程在运行,应用程序将()。A.运行B.阻塞C.终止D.休眠四、综合应用题(2题)31 .本题的功能是对列表项的操作,包括删除、添加和反选。窗司中有两个列表框和5个按钮,按钮标签代表着移除列表项的方向,“”代表只移除选中的列表项,“”代表移除所有的列表项代表反向
10、选择列表项。importjava.awt.*;importjava.awt.event.*;classjava3extendsFrameimplementsActin1.istener,)j1,O,1,1,O,1.0);b.addAction1.istener(this);add(b=newButton(,),1,1,1,11O11.0);b.addAction1.istener(this);add(b=newButton(n11),1,2,1,1,O,1.0);b.addAction1.istener(this);add(b=newButton(,)j1,3,1,1,Oj1.0);b.add
11、Action1.istener(this);add(b=newButton(11!11),1,4,1,1,0,1.0);b.addAction1.istener(this);for(inti=0;iITEMS;i+)It1.ist.add(,item+i);)pack;show;)voidadd(Componentcomp,intX,intY,intW,inth,doubleweightx,doubleweighty)GridBag1.ayoutgbl=(GridBag1.ayout)get1.ayout/GridBagConstraintsc=newGridBagConstraintse.f
12、ill=GridBagConstraints.BOTH;c.gridx=x;cgridy=y;c.gridwidth=W;c.gridheight=h;c.weightx=weightx;c.weighty=weighty;add(comp);gbl.setConstraints(comp,c);)voidreverseSelections(1.ist1)for(inti=0;il.Iength;i+)if(l.islndexSelected(i)1.deselect(i);else1.select(i);)voiddeseleetAll(1.ist1)for(inti=0;il.gethem
13、Count;i+)1.deseleet(i);)voidreplacehem(1.istI1Stringitem)for(inti=0;il.getltemCount;i+)if(l.gethem(i).equals(item)1.replacehem(item+*,i);voidmove(1.ist11,1.ist12,booleanall)if(all)for(inti=0;ill.getltemCount;i+)12.add(11.gethem(i);)11.removeA11;elseStringlitems=ll.getSelectedhems;intitemlndexes=l1.g
14、etSelectedlndexes;deselectA11(12);for(inti=0;i=0;i)11.remove(itemlndexesij);)publicvoidactionPerformed(AetionEventevt)Stringar9=evt.getActionCommand;if(,11.equals(arg)move(It1.istjrt1.ist,false);elseif(1111.equals(arg)move(It1.ist,rt1.ist,true);Jelseif(,.equals(arg)move(rt1.istjIt1.ist1false);Jelsei
15、f(,O)FeverseSelections(It1.ist);elseif(rt1.ist.getSelectedhems.length0)(reverseSelections(rt1.ist);)elseObjecttarget=evt.getSouree;if(target=rt1.istIltarget=It1.ist)replacehem(1.ist)target,arg);)PUbIiCVoiditemStatedChanged(ItemEventent)I1.isttarget=(1.ist)evt.getSouree;if(target=h1.ist)deselectA11(r
16、t1.ist);elseif(target=rt1.ist)deselectA11(lt1.ist);publicstaticvoidmain(Stringargs)newjava3;32 .注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行“*FOUnd*“下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:阅读Java_3.java程序,该程序的功能是按照命令行给定的文件名和文件长度建立一个新的文件Ne
17、WFile.doc。完成程序并运行结果,在程序相同目录下创建了新的文件NewFile.doc.给定源程序:程序的功能是按照命令行给定的文件名和文件长度建立一个新的文件NewFile.docoimportjava.io.*;publicclassJava_3publicstaticvoidmain(Stringargs)StringsizeStr;StringfileName;if(args.length1)sizeStr=argsl;elsesizeStr=300011;if(args.length0)fileName=argsO;elsefileName=,NewFile.doc;longs
18、ize=0;try(size=1.ong.parse1.ong(sizeStr);catch(NumberFormatExceptione)try*Found*raf=newRandomAccessFile(Jrw);*Found*raf.set1.ength();raf.close();catch(IOExceptione)五、单选题(O题)33 .每个Java小应用程序必须定义为A.Applet类或JApplet类的子类BJFrame.类的子类C.Frame.的子类D.Window的子类六、单选题(0题)34 .下列关于JaVa布尔类型的描述中,正确的是()。A.一种基本的数据类型,它的类
19、型名称为booleanB.用int表示类型C.其值可以赋给int类型的变量D.有两个值,1代表真,0代表假参考答案1.BB。【解析】程序的三种基本控制结构包括:顺序、选择和重复(循环),这三种结构就足以表达出各种其他形式的结构。2 .AAo【解析】软件测试的目的是为了发现错误及漏洞而执行程序的过程。软件测试要严格执行测试计划。程序调式通常也称DebUg,对被调试的程序进行“错误”定位是程序调试的必要步骤。3.B3 .B解析:本题考查Java的继承机制。选项A错误,Class类封装了类和对象的属性特征,包含着解释JaVa类的信息。选项B正确,ObjeCt类处于JaVa类层次结构的最上层,是所有类
20、的父类。也就是说,所有JaVa语言中的类都是直接或间接继承ObjeCt类得到的。选项C错误,String类是字符串类,用于构造字符串常量。选项D错误,Date类是日期类,提供了处理日期、时间的多种方法。5 .A6 .A解析:本题考查JavaApplet的概念。Applet是Java与Web相结合而弓I入的重要的JaVa应用形式。APPE是JaVa类,但自身不能运行,必须嵌入在其他应用程序中运行,因此不能直接由java.exe解释运行,选项A说法错误。Applet与Application的主要区别在执行方式上,Application以main()方法为入口点运行,Applet要在浏览器或appl
21、etviewer中运行,运行过程比Application更复杂。7.Aswitch语句中表达式expression只能返回这几种类型的值:int、byte、ShOrt和Char。如果比较的数据类型是double型,则不能使用switch结构。8 .A解析:定义x25后,X共有25个元素,下标为024,并为每个元素赋初值为0,所以选项A为正确答案。9 .D解析:本题考查JaVa中变量的声明。选项A虽然按照题目要求定义了一个变量,但没有满足保持为常数的要求,该变量可以被改变。选项B没有满足题目要求的PUbIiC成员变量;选项C与C语言混淆,const是C语言用来定义常值变量的关键字,Java中定义
22、常值变量使用的是final属性,说明该值赋值以后永不改变,所以选项D为正确答案。10 .D本题考查对字符串数组变量声明的掌握。在JaVa语言中,typeaayName口和typearrayName的效果一样,都表示声明一个数组。所以选项A和选项B的效果是一样的,对于本题来说都是不正确的,因为它们没有指明数组所包含的元素的个数;选项c是一个二维的字符数组,Java语言跟C语言不一样,在C语言中,一个二维的字符数组就可以表示一个一维的字符串数组。而在JaVa中,字符Char是基本数据类型,字符串String则是以对象的形式来表示的。所以,chara口并不等价于String而且,c选项并没有指明数组
23、的长度;选项D正确地声明了一个长度为50的空字符串数组。11 .系统测试系统测试解析:软件测试按4个步骤进行,即单元测试、组装测试、确认测试和系统测试。通过这些步骤的实施来验证软件是否合格。12 .键键解析:键是关系模型中的一个重要概念,在二维表中能唯一地标识一个元组的属性,二维表中可能有若干个键。表中一定要有键,因为若表中所有的属性的子集均不是键,则表中属性的全集必为键。13.ObjectOutputStream14 .PublicJapplet15 .1.、116 .阻塞阻塞解析:本题考查线程的生命周期。线程一旦创建,就开始了它的生命周期。线程的声明周期主要分为:新建状态(new),线程创
24、建后处于该状态;可运行状态(RUnnabIe),新建的线程调用StaII()方法,将使线程的状态从New转换为Runnable;运行状态(RUnning),运行状态使线程占有CPU并实际运行的状态;阻塞状态(Blocked),导致该状态的原因很多,注意区别;终止状态(Dead),线程执行结束的状态,没有任何方法可改变它的状态。17.00解析:本题考查JaVa中数组的定义和初始化。在该方法里定义并动态初始化了一个整型数组anar,由于没有赋初值,系统给默认的初始值是数组中的每个元素全部为零。所以输出数组中的第一个元素anar1.O时,自然也是等于零。18 .抛出异常抛出异常解析:异常类在JaVa
25、程序中是一种比较特殊的类,在使用之前必须先定义,按异常处理的不同可分为运行异常、捕获异常、声明异常和抛出异常几种。19 .FileFile解析:File类是java,io包中的非流类,它以系统无关的方式描述文件对象的属性。20 .移位移位解析:位运算符分为逻辑运算符和移位运算符。逻辑运算符包括四种:按位取反运算符、按位与运算符&、按位或运算符I、按位异或运算符A;移位运算符包括三种:算术右移运算符、算术左移运算符和逻辑右移运算符。21 .A解析:模式设计和内模式设计是概念设计的两种方法。物理设计是根据特定的计算机系统,对数据的存储结构和存取方法进行设计,从而实现从逻辑结构到物理结构的转换。从系
26、统开发的角度来看,结构特性设计和行为特性-设计是数据库应用系统所具有的两个特性。结构特性的设计,设计各级数据库模式(静态特性):行为特性的设计,改变实体及其特性,决定数据库系统的功能(动态特性)。22 .A解析:结构化程序设计方法的四条原则是:自顶向下,逐步求精;模块化;限制使用goto语句。“自顶向下”是指在程序设计时,先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。“逐步求精”是指对复杂问题应设计一些子目标作过渡,逐步细节化。“模块化”是指一个复杂问题由若干稍简单的问题构成;解决这个复杂问题的程序,也应由若干稍简单问题的小程序组成。23 .BBo【解析】本题考查线程的调度。JaVa
27、的线程调度策略是一种基于优先级的抢占式调度,选项B正确。Java这种抢占式调度可能是分时的,即每个等待池中的线程轮流执行,也可以不是,即线程逐个运行,具体采用哪种方式,由具体JVM而定。线程一般通过使用sleep等方法保证给其他线程运行时间。24 .D结构化程序设计由迪杰斯特拉(EWdjkstra)在1969年提出,他主张“清晰第一,效率第二”,以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变得单纯而明确,为设计一些较大的软件打下了良好的基础。由于模块相互独立,因此,在设计其中一个模块时,不会受到其他模块的牵连,因而可将原来较为复杂的问题化简为一系
28、列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为可以充分利用现有的模块作为积木式的扩展。结构化程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和“单入口单出口,的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图1.单入口单出口”的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程序。25 .C解析:用synchronized关键字实现对对象
29、的加锁及其操作,用SynChrOniZed声明的方法为同步方法。带有由SynChroniZed标记的临界区,实现对并发操作的多个线程进行控制。26 .D解析:本题考查Java中的线程和异常处理。题目首先通过实现RUlmabIe接口创建线程,Testt=newTest。语句定义了Test的1个实例,Threadtt=newThread定义了1个名为n的线程,tt.start()语句启动线程。通过try-catch语句来处理异常。try代码包括一些简单语句或方法调用,遇到异常情况时,停止执行而转跳到相应处理异常的程序,然后由catch来控制。题目要求每间隔Is输出,间隔使用Thread.Sleep
30、(100O)语句来实现,调用IntelTUPtedEXCePtiOn来完成。RuntimeException类包含有较多子类,比如算术异常ArithmeticException,当除法分母为0等时使用;索弓I越界异常IndeXOUtofBoUndSEXCePtiOn等。27 .D解析:语句booleanb=newBoolean5;存在错误,类型不兼容,左边为基本类型,右边为类java.lang.Boolean。BOoIean类将基本类型为boolean的值包装在一个对象中。一个Boolean类型的对象只包含一个类型为boolean的字段。28 .C解析:本题考查Swing构件的相关概念。与AW
31、T构件不同,Swing构件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(COmentpane)0内容面板是顶层容器包含的一个普通容器,它是一个轻量级构件。29 .D解析:入栈运算须先将栈顶指针加1,然后将新元素插到栈顶指针指向的位置,A是错误的。出栈运算须将栈顶元素赋给一个指定变量,然后将栈顶指针减1,B是错误的。出栈运算与读栈顶元素不同之处在于读栈顶元素不删除栈顶元素。答案是D。30 .C本题考查线程的机制。守护线程是一类特殊的线程,它和普通线程的区别在于它并不是应用程序的核心部分,当一个应用程序的所有非守护线程终止运行时,即使仍然有守护线程在运行,应用程序
32、也将终止;反之,只要有一个非守护线程在运行,应用程序就不会终止。守护线程一般被用于在后台为其他线程提供服务。可以通过调用方法isDaemon(u3OOOu3OOO)来判断一个线程是否是守护线程,也可以调用方法SetDaemOn(u3OOOu3OOO)来将一个线程设为守护线程。31.第1处:extendsFrame,implementsAction1.istener,Item-Xn1.istenern第2处:for(inti=0;il.getltemCount;i+)n第3处:PUbliCvoidhemStateChanged(ItemEventevt)11【解析】第1处类可以实现多个接口,接口
33、之间用隔开;第2处reverseSelections方法实现的是反选,遍历列表获得列表元素数应使用的是getltemCount方法;第3处nJava是大小写敏感的。32.RandomAccessFile;fileName;size第1处:创建随机文件对象,需填入RandomAccessFile第2处:随机文件的文件名,需填入fileName第3处:随机文件的长度,需填入size33.AA。【解析】本题考查Applet的基本知识。Applel类定义了小应用程序(APPlet)与其运行环境之间的一个接口;JAPPlet是Applet类的扩展,它继承了Applet的方法和执行机制,同时也增加了对Swing构件的支持。每个Jaw小应用程序都必须是Applet类或JApplet类的子类。因此,本题的正确答案是A。34.AAo【解析】布尔类型数据只有两个值true(真)和false(假),不对应任何数字,不能与数字进行转换,布尔类型数据一般用于逻辑判别。