备考2023年河南省焦作市全国计算机等级考试Java语言程序设计真题二卷(含答案).docx
备考2023年河南省焦作市全国计算机等级考试Java语言程序设计真题二卷(含答案)学校:班级:姓名:考号:一、单选题(10题)1 .关于Java虚拟机的说法正确的是()AJava虚拟机只能由软件实现BJava虚拟机只能硬件实现C.在不同操作系统中JaVa虚拟机的实现方式不同,要么硬件实现、要么使用软件D.在手机和嵌入式领域,都使用硬件实现JaVa虚拟机2 .在Java语言中,ObjeCte)UtPUtStream是指()oA.字节流B.字符流C.对象输出流D.数据流3 .下列运算符中不能进行位运算的是A.>>B.>>>C.<<D.<<<4 .以下关于接口的叙述中,正确的是0A.所有的接口都是公共接口,可被所有的类和接口使用B.一个类通过使用关键字interface声明自己使用一个或多个接口C.接口中所有的变量都默认为publicabstract属性D.接口体中不提供方法的实现5Java程序与数据库的连接机制是()。A.()DBCBJDBCC.()DBCAPID.SQ1/C1.I6 .在JaVa中,线程是()0A.分时的B.抢占式的C非抢占式的D.非分时的7 .数据库应用系统中的核心问题是()oA.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训8 .为使Java程序独立于平台,Java虚拟机把字节码与各个操作系统及硬件()。A.分开B.结合C.联系D.融合9 .在程序读入字符文件时,能够以该文件作为直接参数的类是A.FileReaderB.BufferedReaderC-FileInputStreamD-ObjectInputStream10 .在多分支语句SWitCh(表达式)中,表达式不可以返回()A.实型B.字符型C接口型D.整型二、2.填空题(10题)11 .在面向对象方法中,类之间共享属性和操作的机制称为【】。12 .下列程序可完成求1至100之间的整数的和的功能。请在划线处编写适当语句,使此程序能正确执行。publicclassSum(publicstaticvoidmain(stringargs)(intsum=0;for(inti=1;i<=100;i+);System.out.println(11sum=11+sum);)13 .按照线程的模型,一个具体的线程也是由虚拟的CPU、代码与数据组成,其中代码与数据构成了,线程的行为由它决定。14 .赋值表达式是由位于赋值运算符左边的变量和右边的【】组成。15 .阅读下面程序publicclassOperatorsAndExpressionsStringconditionalExpression(intscore)Stringresult;如果score超过60分,则结果是passed,否则是doesn'tpassresult=(score>=60)?"passed,1:ndoesn,tpass'1:System.out.println(result);returnresult;publicstaticvoidmain(Stringargs)OperatorsAndExpressionsperAndExp=newOperatorsAndExpressionsO;条件表达式OperAndExp.conditionalExpression(65);)程序的执行结果是O16 .case子句中的常量的类型必须与switch表达式的类型相容,并且各个CaSe子句的常量的值必须【17 .类在定义数组时,不必限定数组的大小。18 .下列程序的运行结果是oimportjava.io.*;PublicclassABC(publicstaticvoidmain(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.lngth-i-lJ+,11,);System.out.println();19 .设有数组定义:intMyIntArray=10,20,30,40,50,60,70);则执行下面几个语句后的输出结果是【】。i11ts=0;for(inti=0;iMyIntArray.length;i+)s+=MyIntArrayi;System.out.println(三);20 .数据模型是用来描述数据库的结构和语义的,数据模型有概念数据模型和结构数据模型两类,E-R模型是o三、1.选择题(10题)21 .下列关于APPlet的叙述中,错误的是A.Applet是JaVa类,所以可以由JDK中的解释器java.exe直接解释运行B.Applet应该定义为java.applet.Applet类或javax.swing.JApplet类的子类C.Applet与Application的主要区别在执行方式上D.通过在HTM1.文件中采用PARAM标记可以向Applet传递参数22 .下列描述中,正确的是()。A.在SerialiZable接口中定义了抽象方法B.在SerialiZable接口中定义了常量C.在SeriaiiZabIe接口中没有定义抽象方法,也没有定义常量D.在SerialiZable接口中定义了成员方法23 .下列类中属于字节输入抽象类的是A1FileInputStreamB-ObjectInputStreamC-FilterInputStreamDJnputStream24 .下列程序的功能是在监控台上每隔一秒钟显示一个字符串"HenO!”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是publicclassTestimplementsRunnablepublicstaticvoidmain(Stringargs)Testt=newTest();Threadtt=newThread(t);tt.start();publicvoidrun()fr(;)try;catch(e)System.Ou1.println(nHellon);A.sleep(l000)InterruptedExceptionB.t.sleep(l000)InterruptedExceptionC.Thread.sleep(l000)RuntimeExceptionD.Thread.sleep(l000)InterruptedException25 .结构化程序设计主要强调的是0A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性26 .下列关于内部类的说法,正确的是()。A.内部类可以与它包含的类名相同B.内部类只能使用它所在类的静态成员变量,不能使用它所在类的方法中的局部变量C.内部类可以用abstract修饰定义为抽象类,不能用private或protected定义D.外部使用内部类时必须给出类的全名27 .Java图形开发包支持下列Java语言特性中的()。A.安全性B.跨平台性C健壮性D.多态性28 .定义一个类名为"MyClassJava”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为OA.privateclassMyClassextendsObjectB.classUyClassextendsObjectC.publicclassMyClassD.privateclassMyClassextendsObject29.在编写JaVaaPPliCatiOn程序时,若需要使用到标准输入输出语句,必须在程序的开头写上语句。A.importjava.awt.*;B.importjava.applet.applet;C.importjava.io.*;D.importjava.awt.Graphics;30.设有定义语句inta=66,88,99);,则以下对此语句的叙述错误的是()。A.定义了一个名为a的一维数组B.a数组有3个元素C.a数组的下标为13D.数组中的每个元素都是整型四、综合应用题(2题)31.本题中使用了选项卡,窗口中有一个选项卡,总共有“系统”、“声卡”、“显卡”、“网卡”和“帮助”5项选项面。单击各个选项的文字标签后,所选中的选项将为当前选项。"系统''选项上有3个复选按钮,分别控制“声卡”、"显卡''和“网卡”三个选项,选中某个按钮后,它所指示的选项就可用,否则不可用。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;publicclassjava3extendsJFrameJTabbedPaneconfig=newJTabbedPane:publicjava3super(,java311);setSize(500,300);setDefaultCloseoperation(EXIT_ON_C1.OSE);JPanelconfigPane=newJPanel;ConfigPane.set1.ayout(newBox1.ayout(config-Pane,Box1.ayout.Y_AXIS);JTextAreaquestion=newJTeXtArea("下面的哪个选项n”+”你想设置?”);question.setEditable(false);question.setMaximumSize(newDimension(300,50);question.setAlignmentX(O.Of);question.setBackground(configPane.getBack-ground);JCheckBoxaudioCB=newJCheckBox("声卡二true);JCheckBoxnicCB=newJCheCkBox(“网卡”,true);JCheckBoxtvCB=newJCheCkBOx("显示卡”,false);ConfigPane.add(Box.CreateVerticalGlue);ConfigPane.add(question);ConfigPane.add(audioCB);ConfigPane.add(nicCB);ConfigPane.add(tvCB);ConfigPane.add(Box.ereateVerticalGlue);J1.abelaudioPane=newJ1.abel("声卡页面”);J1.abelniePane=newJ1.abel("网卡页面”);J1.abeltvPane=newJ1.abel("显示卡页面”);J1.abelhelpPane=newJ1.abe1("帮助信息”);audioCB.addIte111.istener(newTabManager(audioPane);nicCB.add!tem1.istener(newTabManager(nicPane);tvCB.addItem1.istener(newTabManager(tvPane):config.addTab("系统'null,ConfigPane,ChooseInstalledOptions");config.addTab("声卡、null,audioPane,"Audiosystemconfiguration");config.addTab("网卡'null,nicPane;nNetwot-kingconfiguration11);config.addTab("显示卡”,null,tvPane,"Videosystemconfiguration'1);config.addTab("帮助'null,helpPanejnHowDol.n);getContentPane.add(config,Border1.ayout.CENTER);)ClaSSTabMangerimplementsACtiOn1.iStenerlComponenttab;publicTabManager(ComponenttabToManage)tab=tabToManage;)PUbIiCVOidItemStateehanged(ItemEVentie)intindex=config.indexOfComponent(tab);if(index!=-l)config.setEnabledAt(index,ie.getStateChange=ItemEvent.SE1.ECTED);)this.repaint;)publicstaticvoidmain(Stringargs)java3SC=newjava3;se.setVisible(true);32 .注意:下面出现的“考生文件夹”均为USER%在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行“*FoUnd*“下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:阅读Java_3.java程序,该程序的功能是按照命令行给定的文件名和文件长度建立一个新的文件NeWFiIe.doc。完成程序并运行结果,在程序相同目录下创建了新的文件NewFile.doc.给定源程序:程序的功能是按照命令行给定的文件名和文件长度建立一个新的文件NewFile.docoimportjava.io.*;publicclassJava_3publicstaticvoidmain(Stringargs)StringsizeStr;StringfileName;if(args.length>1)sizeStr=argsl;elsesizeStr="300011;if(args.length>0)fileName=args0;elsefileName="NewFile.doc"longsize=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 .以下标识符中哪项是不合法的()oA.constB.$doubleC.helloD.BigMeaninglessName六、单选题(0题)34 .软件(程序)调试的任务是()。A.诊断和改正程序中的错误B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质参考答案1 .D2 .C1本题考查JaVa输入输出流的概念。FilelnputStream是字节流,BufferedWriter是字符流,ObjectOutputStream是对象输出流,既继承了OUtPUtStream抽象类,又实现了ObjeCte)UtPUt接口,这是Java用接口技术代替双重继承的例子,其构造方法参数是串行化的对象。3 .D解析Java中的移位运算符包括>>、<<、>>>、&、I、3。其中>>表示算术右移,<<表示算术左移,>>>表示逻辑右移。不存在<<<运算。4 .D5.B本题考查Java程序与数据库的连接。JDBC(JaVaDataBaseConneCtiVity)是Java程序与数据库连接的一种机制。在Java虚拟机中有个特殊模块JDBCDriv-erManager,既负责管理针对各种类型数据库软件的JDBC驱动程序,也负责和用户应用程序交互。6.BB0【解析】本题考查线程的调度。Java的线程调度策略是一种基于优先级的抢占式调度,选项B正确。Java这种抢占式调度可能是分时的,即每个等待池中的线程轮流执行,也可以不是,即线程逐个运行,具体采用哪种方式,由具体JVM而定。线程一般通过使用sleep等方法保证给其他线程运行时间。7 .A数据库应用系统中的核心问题是数据库的设计。故答案为A选项。8 .A解析:JaVa编写好的程序首先由编译器转换为标准字节代码,然后由Java虚拟机去解释执行。字节代码是一种二进制文件,但不能直接在操作系统上运行,它可看做虚拟机的机器码。虚拟机把字节码程序与各操作系统和硬件分开,使JaVa程序独立于平台。9 .A解析:FileReader>BUfferedReader是字符类输入流。FileInputStream是字节输入流。对象串行化时,需要使用ObjeCtlnPUtStream类中提供的方法从对象流中读取对象。所以,在程序读入字符文件时,要使用字符流FiIeReader或BUfferedReadero但是FileRead的参数是读入的文件,而BufferedReader的参数是FileRead流的一个对象。因此,本题的正确答案是A。10 .C11 .继承继承解析:类是面向对象语言中必备的程序语言结构,用来实现抽象数据类型。类与类之间的继承关系实现了类之间的共享属性和操作,一个类可以在另一个已定义的类的基础上定义,这样使该类型继承了其超类的属性和方法,当然,也可以定义自己的属性和方法。12 .sum+=i(或sam=sum+i)sum+=i(或sam=sum+i)解析:这是一个递加的算法,所以使用sum+=i(或sum=sum+i)o13 .线程体线程体14 .表达式】表达式解析:表达式的值的类型应与左边的变量类型一致或可以转换成左边的变量类型。15 .passedpassed解析:条件运算符的形式为expression1?expression2:expression30如果expression1的结果为true,则计算expression2,并将结果作为整个表达式的值;如果expression的结果为false,则计算expressions,并将结果作为整个表达式的值。本程序中,score=65,SCore>60的判断结果为true,所以result='passed',最后输出结果当然也是passed016 .互不相同互不相同解析:CaSe子句的值必须是常量,而且类型必须与switch表达式的类型相容,并且各个case子句的常量的值必须互不相同。17 .Array1.istArray1.ist解析:JaVa语言中用一种特殊的类-java.util.Array1.ist(数组列表)在运行时能动态自动调整数组的大小。AiTay1.iSt类在定义数组时,不必限定数组的大小。18 .110110HO110IlOllO110110110110解析:本题中a.length/2的值应为4,所以for循环执行了5次。第1次输出的是元素a与a网的和;第2次输出的是无素ala刀的和a第3次输出a与a61的和;第4次输出a与a5的和;第5次输出a4a4的和,所以本题的结果应为5个110。19.28020.概念数据模型概念数据模型21.A解析:本题考查JavaApplet的概念。Applet是Java与Web相结合而引入的重要的JaVa应用形式。APPIet是JaVa类,但自身不能运行,必须嵌入在其他应用程序中运行,因此不能直接由java.exe解释运行,选项A说法错误。Applet与Application的主要区别在执行方式上,APPIiCation以main。方法为入口点运行,APPIet要在浏览器或appletviewer中运行,运行过程比Application更复杂。22.C23 .D解析:所有的字节输入流都从InputStream类继承。24 .D解析:本题考查Java中的线程和异常处理。题目首先通过实现RUnnable接口创建线程,TeStt=newTest。语句定义了TeSt的1个实例,Threadtt=newThread(t)定义了1个名为tt的线程,tt.start()语句启动线程。通过try-catch语句来处理异常。try代码包括一些简单语句或方法调用,遇到异常情况时,停止执行而跳转到相应处理异常的程序,然后由catch来控制。题目要求每间隔Is输出,间隔使用Thread.sleep(1000)语句来实现,调用InterruptedException来完成。RuntimeException类包含有较多子类,比如算术异常ArithmetiCEXC叩tion,当除法分母为。等时使用;索引越界异常IndeXOUtc)fBoundsException等。25 .B解析:采用结构化编程方法的好处主要在于:一是便于控制、降低程序的复杂性,因此便于编写程序。二是程序清晰易读,可理解性好。因此,结构化程序设计主要强调的是程序的易读性,而不是程序的规模、程序的执行效率和程序的可移植性。26.DD。【解析】本题考查内部类的概念。在一个类的内部嵌套定义的类称为内部类,它的类名在定义它的类或程序段中或在表达式内部可以匿名使用,外部使用它时必须给出类的全名,所以选项D说法正确;内部类的类名不允许与它包含的类名相同,选项A说法错误;内部类可以使用它所在类的静态成员变量和实例成员变量,也可以使用它所在类的方法中的局部变量,选项B说法错误;内部类不仅可以用abstract修饰定义为抽象类,也可用PriVate或PrOteCted定义,选项C说法错误。同时还要注意,内部类可作为其他类的成员,而且可访问它所在类的成员,除StatiC内部类外,不能在类中声明StatiC成员。27.B解析:JaVa语言的跨平台性要求Java的图形用户界面程序也要支持跨平台性,而Java语言其他的特性在图形开发包中体现得不是很明显。28.C29.C30.C31.第1处:ClassTabManagerimplementsItem1.istenern第2处:PUbliCvoiditemStateChanged(ItemEventie)n第3处:java3.this.repaintn【解析】第1处实现了hem1.istener接口,用于捕捉带有Item的组件产生的事件;第2处接口中定义的itemStateChanged(ItemEvente)将执行需要在已选定(或已取消选定)项时发生的操作。而这里的ie是具体的ItemEvent对象,并作为参数被传递;第3处调用repaint方法重绘。32.RandomAccessFile;fileName;size第1处:创建随机文件对象,需填入RandomAccessFile第2处:随机文件的文件名,需填入fileName第3处:随机文件的长度,需填入size33.A34.A解析:软件调试的任务是诊断和改正程序中的错误,本题正确答案为A)o其他二项描述不正确,选项B)描述不全面,选项C)描述太绝对,选项D)描述不符合定义。