国家二级(JAVA)笔试模拟试卷15(共444题)_第1页
国家二级(JAVA)笔试模拟试卷15(共444题)_第2页
国家二级(JAVA)笔试模拟试卷15(共444题)_第3页
国家二级(JAVA)笔试模拟试卷15(共444题)_第4页
国家二级(JAVA)笔试模拟试卷15(共444题)_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家二级(JAVA)笔试模拟试卷15(共9套)(共444题)国家二级(JAVA)笔试模拟试卷第1套一、公共基础选择题(本题共10题,每题1.0分,共10分。)1、算法的时间复杂度是指A、执行算法程序所需要的时间B、算法程序的长度C、算法程序中的指令条数D、算法执行过程中所需要的基本运算次数标准答案:A知识点解析:算法的时间复杂度实际上就是执行算法程序所需要的计算工作量。为了客观地反映算法性能,在度量算法的时间复杂度时,应该与编写算法程序所使用的程序设计语言、执行算法程序时所使用的计算工具以及程序员的水平无关。选项A错误,因为同一算法程序在运行速度不同的计算机上运行时,其计算时间是不同的。选项B错误。因为算法所编写的程序长度往往与程序设计语言以及程序员的水平有关,同一个算法,用不同的程序设计语言或者不同的程序员所编写出的程序其长度可能会大不相同。选项C错误,因为根据一个算法所编制出的程序程序中,其指令条数往往与程序设计语言以及程序员的水平有关,不能用算法程序中的指令条数来度量算法的时间复杂度。所以,本题的正确答案为D。2、设栈S的初始状态为空。元素a,b,c,d,e,f依次通过栈S,若出栈的顺序为b,d,c,f,e,a,则栈S的容量至少应该为A、3B、4C、5D、6标准答案:A知识点解析:根据题中给定的条件,可以作如下的模拟操作:①元素a,b进栈,栈中有2个元素,分别为a,b;②元素b出栈后,元素c,d进栈,栈中有3个元素,分别为a,c,d;③元素d,c出栈后,元素e,f进栈,栈中有3个元素,分别为a,e,f;④最后,元素f,e,a出栈,栈为空。可以看出,进栈的顺序为a,b,c,d,e,f,出栈的顺序为b,d,c,f,e,a,满足题目要求。每次进栈操作后,栈中最多有3个元素,所以,为了顺利完成这些操作,栈的容量应至少为3。本题的正确答案为A。3、在最坏情况下,下列排序方法中时间复杂度最小的是A、冒泡排序B、快速排序C、插入排序D、堆排序标准答案:D知识点解析:在最坏情况下:冒泡排序需要的比较次数为n(n-1)/2;快速排序需要的比较次数也为n(n-1)/2;插入排序需要的比较次数也为n(n-1)/2;堆排序需要比较的次数为O(nlog2n)。可知,在最坏情况下,堆排序的时间复杂度最小,本题的正确答案为D。4、在模块化程序设计中,按功能划分模块的原则是A、各模块的功能尽量单一,且各模块之间的联系尽量的少B、各模块的功能尽量单一,且各模块之间的联系尽量紧密C、各模块应包括尽量多的功能D、各模块应包括尽量多的输入输出操作标准答案:A知识点解析:模块化设计是指把一个大程序按人们能理解的大小规模进行分解。划分模块的基本原则是使每个模块都易于理解。按照人类思维的特点,按功能来划分模块最为自然。在按功能划分模块时,要求各模块的功能尽量单一,各模块之间的联系尽量少。所以,选项A正确;选项B错误;选项C错误。本题的正确答案为A。5、数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是A、线性链表B、二叉链表C、栈与队列D、循环队列标准答案:C知识点解析:线性链表是线性表的链式存储结构;二叉链表是二叉树的链式存储结构;栈与队列分别是特殊的线性表;循环队列是队列的一种顺序存储结构。可知,线性链表、二叉链表、循环队列均属于存储结构,而栈与队列属于逻辑结构。选项C为正确答案。6、下列叙述中正确的是A、软件就是程序清单B、软件就是存放在计算机中的文件C、软件应包括程序清单以及运行结果D、软件包括程序、数据和文档标准答案:D知识点解析:计算机软件是计算机系统中与硬件相互依存的另二部分,包括程序、数据及相关文档的完整集合。用一个等式表示,则为:软件=程序+文档+数据选项A、B、C错误,正确答案是D。7、在结构化方法中,软件功能分解属于下列软件开发中的阶段是A、概要设计B、需求分析C、详细设计D、编程调试标准答案:A知识点解析:概要设计的任务是划分出构成系统的各物理元素以及设计出软件的结构(如确定模块及模块间的关系)。设计过程通常分为以下几步:提出可选择方案;选择合理方案;推荐最佳方案;功能分解;设计软件结构;制定测试计划;最后提交概要设计文档。软件功能分解属于概要设计阶段。本题的正确答案为A。8、下列叙述中正确的是A、程序设计过程中的主要工作是编制程序B、程序设计的主要目标是编制出运行结果正确的程序C、不良的程序设计风格会增加程序的复杂性D、上述三种说法都不对标准答案:C知识点解析:程序设计过程中包括很多步骤,编制程序只是其中的一步。所以,选项A错误。程序设计的最终产品是程序,但仅设计和编制出一个运行结果正确的程序是不够的,还应养成良好的程序设计风格。所以,选项B错误。程序设计的根本目标是要降低程序的复杂性和提高程序的可读性。而程序的复杂性主要来自以下两个方面:问题固有的复杂性;不良的设计风格人为增加了程序的复杂性。所以,良好的设计风格对于降低程序的复杂性是很重要的,并且,好的设计风格是好的程序风格的基本保证。选项C正确。9、下列叙述中正确的是A、用E-R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系B、用E-R图只能表示实体集之间一对一的联系C、用E-R图只能表示实体集之间一对多的联系D、用E-R图表示的概念数据模型只能转换为关系数据模型标准答案:A知识点解析:用E-R图可以简单明了地描述实体及其相互之间的联系,用E-R图还可以方便地描述多个实体集之间的联系和一个实体集内部实体之间的联系。所以,选项A正确,选项B与C错误。为了建立用户所要求的数据库,必须把概念结构(用E-R图表示的概念数据模型)转换为某个具体的数据库管理系统所支持的数据模型,这就是逻辑结构设计所要完成的任务。在已给定数据库管理系统的情况下,数据库的逻辑设计可以分两步来进行:①将概念模型转换成一般的数据模型;②将一般的数据模型转换为特定的数据库管理系统所支持的数据模型。可知,用E-R图表示的概念数据模型不仅能转换为关系数据模型,还可以转换为其他数据模型,如网状模型和层次模型等。所以,选项D说法错误。10、关系表中的每一横行称为一个A、元组B、字段C、属性D、码标准答案:A知识点解析:在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。关系表中的每一横行称为一个元组。本题的正确答案是A。二、选择题(本题共25题,每题1.0分,共25分。)11、下列说法正确的是A、用abstract关键字修饰的方法,不能再被子类重写B、用final关键字修饰的方法,不能再被子类重写C、抽象类中一定要包含abstract方法D、某个类中包含了abstract方法,该类可以不声明为abstract类标准答案:B知识点解析:本题考查类定义中的关键字。abstract关键字修饰的方法称为抽象方法,该方法必须被重写,选项A错误;抽象类中不一定要包含abstract方法,但是,一旦某个类中包含了abstract方法,该类就必须声明为abstract类,选项C和选项D错误;用final修饰的方法不能再被子类重写,选项B正确。12、下列基本命令中,属于类文件分解器命令的是A、javadocB、jarC、javahD、javap标准答案:D知识点解析:本题考查Java的JDK工具。javadoc是Java文档生成器,对Java源文件和包以MML格式生成AP文档。压缩程序jar.exe的功能是把多个文件以zip格式压缩到一个扩展名为jar的文件中,这样可以保持程序的完整性并便于使用。javah是头文件(header)产生器。javap是Java类分解器,对class文件提供字节代码的反汇编,并打印。javac是Java编译命令,能将源代码编译成字节码,以.class扩展名存入,java工作目录中。java是Java解释器,执行字节码程序,该程序是类名所指的类,必须是一个完整定义的名字。正确答案是D。13、按照Java的标识符命名规则,下列表示常量的标识符规范的是A、HelloWorldB、HELLO_WORLDC、hello_worldD、helloWorld标准答案:B知识点解析:本题考查Java标识符的命名规则。属于考试重点内容,应该掌握。Java中标识符的命名规则是:标识符以字母、下划线、美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。但是Java有一些命名约定,基本原则为:$不作为变量名、方法名开头:变量名、方法名首单词小写,其余单词只有首字母大写;接口名、类名首单词第一个字母大写;常量完全大写。按照这些约定,可见只有选项B正确。14、下列哪个数代表八进制整数?A、0XA5B、0144C、1840D、-1标准答案:B知识点解析:本题考查Java语言中的整型常量。题目虽然不难,但属于学习程序设计语言的基础,应有所了解。整型常量有3种书写格式。十进制整数,如:156,-230,345;八进制整数:以0开头,如:012表示十进制的10;十六进制整数:以0x或OX开头,如0X123表示十进制数291。由此可见,选项A表示的是十六进制整数,选项B是八进制整数形式,以0开头,为本题正确选项;选项C和选项D都是十进制整数。15、下列关于构造方法说法正确的是A、构造方法的名称可以和类不一样B、构造方法必须有返回值C、只能用运算符new调用构造方法D、构造方法不可以被重载标准答案:C知识点解析:本题考查构造方法的概念。构造方法用来初始化类的一个对象,构造方法具有和类一样的名称,选项A说法错误。构造方法没有返回类型还可以重载,选项B说法错误。构造方法只能用运算符new调用构造方法,选项C说法正确。如果没有定义构造方法,在Java运行时,系统会自动提供默认的构造方法,它没有任何参数,选项D说法错误。16、执行下面的程序段后i和j的结果为inti=1,j=10;do{if(i++>--j)continue;}while(i<5);A、i=6,j=5B、i=5,j=5C、i=6,j=4D、i=5,j=6标准答案:D知识点解析:本题考查考生对自增自减运算符的理解。++op和op++,表示对操作数op加1,其中++op表示先对op加1然后再取值,而op++表示先取值,然后再对op进行加1。--op和op--也是一样,当进行到i=5时退出循环,此时j为6。因此,本题正确答案为选项D。17、char变量的取值范围是A、0~32767B、0~65535C、-256~255D、-32768~32767标准答案:B知识点解析:本题考查Java中数据的取值范围。char是字符变量类型,在内存中占16位bit,表示范围为0~65535,选项B正确。char不能当作整数使用,char类型的值可以转换为int类型,但反过来,int类型转换为char类型时,必须强制执行。18、下列数组array_test中,能在程序运行时动态调整大小的是A、intarray_test[]=newint[10]B、String[]array_testC、ArrayListarray_test=newArrayList()D、Arrayarray_test=newArray()标准答案:C知识点解析:本题考查数组的概念。数组的定义与初始化是考试重点,也是比较容易出错的地方,应该灵活掌握。动态初始化需要使用new操作符来分配内存空间,既可以在声明时初始化,也可以在声明以后初始化。声明时初始化:类型数组名[]=new类型[数组长度];声明后初始化:类型数组名[];数组名=new类型[数组长度];选项A定义了一个含有10个元素的整型数组,不符合题意;选项B定义了一个字符串数组。在Java语言中用一种特殊的类——java.util.ArrayList(数组列表)在运行时能动态调整数组的大小。ArrayList类在定义数组时,不必限定数组的大小。在数组列表初始化时,可用add()方法将数组元素赋值。19、下面程序段:booleana=false;booleanb=true;booleanc=(a||b)&&(b);booleanresult=(a|b)&(b);执行完后,正确的结果是A、c=false;result=falseB、c=true,result=trueC、c=true;result=falseD、c=false;result=true标准答案:B知识点解析:本题考查Java中的运算符。考试重点内容,历次考试都有题目涉及。首先要清楚,“&&”是逻辑与运算符;“&”是按位与运算符;“||”是逻辑或运算符;“|”是按位或运算符。“a||b”的结果为true,所以“true&&true”结果为true。而“a|b”的结果也为true,故result=(a|b)&(b)语句的结果也为true,选项B正确。20、下列对继承的说法正确的一项是A、子类能继承父类的所有方法和状态B、子类能继承父类的非私有方法和状态C、子类只能继承父类的public方法和状态D、子类只能继承父类的方法,而不能继承状态标准答案:A知识点解析:本题考查继承的概念。继承性是面向对象方法的一个重要基本特征,它使代码可重用,可降低程序复杂性。对一个类的继承也就是构件了一个子类,子类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。由此可见选项A正确。21、表达式1+2+"aa"+3的值为A、12aa3B、3aa3C、12aaD、aa3标准答案:B知识点解析:本题考查Java中的运算符。“+”运算符可以做字符串的连接运算,题中的表达式的运算过程可以看作是:((1+2)+"aa")+3,首先进行1+2得到数值3,再和字符串"aa"做字符串的连接,得到字符串"3aa",最后跟数值3再做一次连接运算,得到"3aa3"。22、数据报通信协议UDP把每个传输的数据大小控制在下列哪一项之内A、8KBB、16KBC、64KBD、128KB标准答案:C知识点解析:本题考查数据报通信的协议UDP。UDP协议对每个数据报是一个独立的信息传输单位的大小限定,UDP协议对传输数据的大小有限制,在64KB之内。正确答案为选项C。它的传输不可靠,但操作简单,因此,适用于广播式的重复传输、时钟器的传输、ping命令的传输等。23、关于下面语句的说法正确的是String[][]s=newString[10][];A、该语句不合法B、该语句定义了一个二维数组,它包括10行10列C、s是一个包含10个数组的数组D、s中的每一个元素都被设置成""标准答案:C知识点解析:本题考查多维数组的定义。Java中没有多维数组这种数据结构,只有一维数组,在Java中实现的所谓的多维数组,实际上是由一维数组“焊接”而成的“数组的数组”。也就是说,某个一维数组的元素是另一个一维数组则称之为二维数组,依次类推,一维数组的多次嵌套定义,构成了多维数组。由此可见,题目中语句s是一个包含10个数组的数组,对每个元素都赋null值,选项C说法正确。24、利用File对象可以判断的是A、创建子目录B、获得文件长度C、删除文件D、判断文件的存在标准答案:D知识点解析:本题考查Java语言中对File对象的操作。要对一个文件进行操作,首先需要有关的文件描述信息,例如文件的名称、所在的路径以及文件是否可读可写等。在Java语言中,类File是通过文件名列表来描述一个文件对象的属性。通过File类提供的方法,可以获得文件的描述信息,并且还可以改变文件的名称、删除文件等。File对象不可以创建文件目录等操作。File对象可以判断一个文件或目录对象是否存在、是否可读,但不可以执行创建子目录、获得文件长度、删除文件以及修改文件名字等操作。25、正确生成RandomAccessFile对象的语句的是A、Filef=newFile("readFile");RandomAccessFileraF=newRandomAccessFile(f);B、RandomAccessFileraF=newRandomAccessFile(d:\\mydir\\File3.txt,"rw");C、RandomAccessFileraF=newRandomAccessFile("readwriteFile","rw");D、RandomAccessFileraF=newRandomAccessFile("readwriteFile",rw);标准答案:C知识点解析:本题考查随机文件流的概念。文件操作中经常需要的是随机访问,Java中的RandomAccessFile类提供了随机访问文件的功能,它继承了Object类,用DataInput和DataOutput接口来实现。接口中定义了从流中读/写基本类型的数据方法。因此也可以随机读入数据文件的记录。一个随机文件建立的语句为:RandomAccessFileraF=newRandomAccessFile("readwriteFile","rw");其中"rw"表示可读写,所以选项C正确。26、要表示表格的数据,需要继承下列哪个类?A、AbstractTableModelB、TableModelC、JTableD、TableModeLabel标准答案:A知识点解析:本题考查Swing的构件。表格是Swing新增加的构件,主要功能是把数据以二维表格的形式显示出来。使用表格,最好先生成一个MyTableModel类型的对象来表示数据,这个类是从AbstractTableModel类中继承来的,其中的几个方法一行要重写。因为JTable会从这个对象自动获取表格显示所必需的数据,AbstractTableModel类的对象负责表格大小的确定(行、列)、内容的填写等。27、下面代码的运行结果是publicclassTest{publicstaticvoidmain(Stringargs[]){for(inti=0;i<3;i++){if(i<2)continue;System.out.println(i);}}}A、0B、1C、2D、3标准答案:C知识点解析:本题考查简单的Java控制语句。题目非常简单,但还是应该细心。这里应注意continue语句。continue语句是跳过循环体中下面尚未执行的语句,回到循环体的开始继续下一轮的循环。当然,在下一轮循环开始前,要先进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。题目所给程序中,当i=0和i=1时,都会执行continue语句,而不会执行System.out.println(i)语句,只有当i=2时才执行System.out.println(i)语句,输出为2,选项C正确。28、下列字节输入流中,不能够被实例化的是A、FileInputStreamB、FilterInputStreamC、ByteArrayInputStream,D、ObjectInputStream标准答案:B知识点解析:本题考查Java中的字节输入流。不能被实例化的类是抽象类,题目所给的4个选项中,由于只有过滤器输入流是抽象类,因此选项B不能被实例化。FileInputStream可对一个磁盘文件涉及的数据操作;FilterInputStream过滤器输入流本身也是一个抽象类,它的各个子类定义了过滤的类型方法;ByteArrayInputStream以字节数组作为输入流;ObjectInputStream类实现了ObjectInput接口,对象在传输前,要首先实现Serializable接口。29、Java中,类FileInputStream和FileOutputStream提供了对文件的读/写方法是A、跳跃B、顺序C、随机或顺序D、随机标准答案:B知识点解析:本题考查Java中,类FileInputStream和FileOutputStream提供了对文件的顺序读/写方法,选项B正确。30、下列不是DataOutputStream方法的是A、writeDouble(doublev)B、writeInt(intv)C、writeString(intv)D、writeChar(intv)标准答案:C知识点解析:本题考查DataOutputStream方法。DataOutputStream备有读写各种类型数据的方法,例如:writeDouble(doublev)写8个字节长的二进制双精度浮点数;writeInt(intv)写出4个字节长的二进制整数;writeChar(intv)写字符(Unicode码)。DataOutputStream并没有writeString(intv)方法。31、下列语句中所使用的布局管理器,当改变容器大小,组件大小不会随着一起改变的是A、Frameframe1=newFrame("FlowLayout");B、Frameframe1=newFrame("BorderLayout");C、frame1=newFrame("example");frame1.setLayout(newBorderLayout());D、frame1.setLayout(newGridLayout(2,3));标准答案:A知识点解析:本题考查java中各种布局管理器的布局特点。在FlowLayout中所有组件都被压缩至最小,当容器大小变化时,上面的组件保持最小状态,大小不变;在BorderLayout中任何组件都尽量伸展,使它与容器的边缘对齐,当容器大小变化时,组件将随之变化;GridLayout将容器等分为几个格子,每个组件占一个格子,当容器大小变化,格子大小也变化,组件大小也变化。32、关于下面程序段的说法,正确的是importjava.applet.*;importjava.awt.*;publicclassTestextendsApplet{ImageIMGonClick=over(this)title=放大;publicvoidinit(){IMGonClick=over(this)title=放大=newImage();}publicvoidpaint(Graphicsg){g.drawImage(IMGonClick=over(this)title=放大,0,0,this);}}A、该程序段可以正常运行B、程序中所创建的Image为空,但可以显示C、程序中所创建的Image不为空D、程序中所创建的Image为空,不能显示标准答案:D知识点解析:本题考查Image的概念和用法。程序的目的是想要使用drawImage(Imageimg,intx,inty,ImageObserverobserver)方法将img在Applet中画出,但由于程序段所创建的Image为空,不能显示,应该先调用getImage()获取已经存在的图像。所以选项D正确。33、用HTML文件显示APPLET时,下面属于必不可少的属性的是A、NAME、HEIGHT和WIDTHB、CODE和NAMEC、CODEBASE、HEIGHT和WIDTHD、CODE、HEIGHT和WIDTH标准答案:D知识点解析:本题考查Applet标记中最基本的属性的概念。<APPLET>标记中有3个属性是必不可少的,CODE属性规定小程序的主要类文件的名称,HEIGHT属性规定了网页上小程序窗口的高度,WIDTH属性规定了网页上小程序窗口的宽度,其他的属性都是可选的.NAME属性是为创建的Applet定义一个名字,以便同一个页面中的Applet能够彼此发现并进行。CODEBASE属性是执行Applet的URL地址,该URL是包含了Applet代码的目录。34、下列关于Applet的叙述中,正确的是A、Applet是Java类,所以可以由JDK中的解释器java.exe直接解释运行B、Applet应该定义为javax.applet.Applet类或java.swing.Applet类的子类C、Applet与Application的主要区别在编译方式上D、通过在Applet中使用getParameter可从HTML文件中获得参数标准答案:D知识点解析:本题考查Applet的基本概念。选项A说法错误,Applet虽然是Java类,但并不能用JDK中的解释器java.exe直接解释运行,而必须使用appletviewer来运行,运行过程比Application更复杂。Applet必须定义为java.applet.Applet类或javax.swing.JApplet类的子类,选项B说法错误。Applet与Application的主要区别在执行方式上,它们的编译方式是相同的,选项C说法错误。通过在Applet中使用getParameter可从HTML文件中获得参数,选项D说法正确。35、下列说法中错误的一项是A、当线程需要在synchronized块中等待共享数据状态改变时,则需要调用wait()方法B、当线程需要在synchronized块中等待共享数据状态改变时,则需要调用notify()方法C、线程在synchronized块中执行完操作后,调用notify()方法通知正在等待的线程重新占有锁D、wait()和notify()可以实现线程的同步操作标准答案:B知识点解析:本题考查线程间交互的概念。当线程进入synchronized块后,共享数据的状态并不一定满足该线程的需要,它要等待其他线程将共享数据改变为所需要的状态后才能继续执行,但由于此时它占有了该对象的锁,其他线程无法对共享数据进行操作,此时线程调用wait()方法进入等待状态,并且暂时释放共享数据的对象锁,其他线程可以获得该对象锁,进入synchronized块进行操作,操作完成之后,再调用notify()方法通知等待的线程重新占有锁,这样就实现了线程的同步操作。由此可见,wait()方法是线程需要在synchronized块中等待共享数据状态改变时调用,而notify()方法是线程在synchronized块中执行完操作后调用,用来通知正在等待的线程重新占有锁,选项B的说法错误。三、公共基础填空题(本题共5题,每题1.0分,共5分。)36、在深度为5的完全二叉树中,度为2的结点数最多为______。标准答案:15知识点解析:在深度为5的完全二叉树中,度为2的结点数最多的是深度为5的满二叉树。在深度为5的满二叉树中,前4层中所有结点的度为2。即在深度为5的完全二叉树中,度为2的结点数最多相当于深度为4的满二叉树中的结点数。深度为4的满二叉树中的结点数为2的4次方-1=15。37、算法复杂度主要包括时间复杂度和______复杂度。标准答案:空间知识点解析:算法的复杂度主要包括时间复杂度和空间复杂度。所谓算法的时间复杂度,是指执行算法所需要的计算工作量。一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。38、Jackson方法是一种面向______的结构化方法。标准答案:数据结构知识点解析:Jackson方法是一种面向数据结构的结构化方法。39、一个项目具有一个项目主管,一个项目主管可管理多个项目。则实体集“项目主管”与实体集“项目”的联系属于______的联系。标准答案:一对多知识点解析:实体集“项目主管”与实体集“项目”的联系属于一对多的联系。40、数据结构分为逻辑结构和存储结构,循环队列属于______结构。标准答案:存储或物理或存储结构或物理结构知识点解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。可知,循环队列应当是物理结构。四、填空题(本题共10题,每题1.0分,共10分。)41、多线程是Java语言的______机制,只能够处理同步共享数据和各种不同的事件。标准答案:并发知识点解析:本题考查Java语言的特点。Java语言的开发运行环境都是互联网,在这种分布式的环境中,并发和共享是很常见的事务,要能并行地处理很多事务,就要求Java语言提供一种可靠和高效的机制,来满足高并发事务处理的需求。多线程很好地解决了网络上的瓶颈问题及大量的网络访问问题。42、Java源文件中最多只能有一个______类,其他类的个数不限。标准答案:public知识点解析:本题考查Java的程序结构。Java程序结构是考试重点内容,它非常简单,应该记忆相关内容。Java源文件中最多只能有一个public类,其他类的个数不限。另外,还应该了解package语句只能有0或1个:import语句可以有0或多个;接口可以定义0个或多个。43、执行下面的程序段,输出结果为______。publicclassQ{publicstaticvoidmain(Stringargvr)){intanar[]=newint[5];System.out.println(anar[0]);}}标准答案:0知识点解析:本题考查Java中数组的定义和初始化。在该方法里定义并动态初始化了一个整型数组anar,由于没有赋初值,系统给默认的初始值是数组中的每个元素全部为零。所以输出数组中的第一个元素anar[0]时,自然也是等于零。44、Java运行时系统通过______周期性地释放无用对象所使用的内存,以完成对象的消除。标准答案:垃圾收集知识点解析:本题考查Java的垃圾收集机制。Java语言中内存的分配和释放工作由自己完成,程序员不必做这些工作,它提供一个系统级的线程,跟踪每个内存的分配,在JVM的空闲处理中,垃圾收集线程将检查和释放不再使用的内存(即可以被释放的内存)。垃圾收集的过程在Java程序的生存期中是自动的,不需要分配和释放内存,也避免了内存泄漏。45、要使处于不同层次,甚至是互不相关的类可以具有相同的行为采用______。标准答案:接口知识点解析:本题考查接口的概念。接口是一种只含有抽象方法或常量的特殊的抽象类,主要功能有:不管类的层次,可实现互不相关的类具有相同的行为;通过接口可以说明多个类所需实现的方法;通过接口可以了解对象的交互界面,无需了解对象所对应的类。通过接口可以为没有任何关系的两个或多个类之间提供相同的行为方式。46、关于文件名的处理中,测试当前文件是否目录用______函数。标准答案:booleanIsDirectory()知识点解析:本题考查考生对文件类中提供的一些基本函数的掌握和应用能力。IsDirectory()方法是检测本File对象所代表的是否一个目录。如果存在并且是一个目录则返回true;否则为false。47、下列程序的功能是创建了一个显示5个"Hello!"的线程并启动运行,请将程序补充完整。publicclassThreadTestextendsThread{publicstaticvoidmain(Stringargs[]){ThreadTestt=newt.start();}publicvoidrun(){inti=0;while(true){System.out.println("Hello!");if(i++==4)break;}}}标准答案:ThreadTest()知识点解析:本题考查线程的创建。题目程序的功能是按要求实现输出,通过继承Thread类来创建线程。Thread类本身实现了Runnable接口,所以在java.lang的Thread类的定义中可以发现run()方法,通过继承Thread类,必须重写其中的run()方法定义线程体,然后创建该子类的对象创建线程。题目缺少线程创建的语句,因此应该填写:ThreadTestt=newThreadTest()。类ThreadTest继承了Thread类,并将Thread类的run()方法进行了重写,run()方法的功能是实现输出字符串。48、包含Swing构件的Applet(小应用程序)应该是______类的子类。标准答案:JApplet或javax.swing.JApplet知识点解析:本题考查Swing构件。Swing是AWT扩展,提供了许多新的图形界面构件,都是以“J”开头。顶层容器包括JFrame、JApplet、JDialog和JWindow共4个。JApplet是一个使Applet能够使用Swing构件的类,是java.applet.Applet类的子类。包含Swing构件的Applet必须是JApplet类的子类。49、请阅读下列程序代码,然后将程序的执行结果补充完整。程序代码:publicclassthrowsException{staticvoidProc(intsel)throwsArithmeticException,ArrayIndexOutOfBoundsException{System.out.println("InSituation"+sel);if(sel==0){System.out.println("noExceptioncaught");return;}elseif(sel==1){intiArray[]=newint[4];iArray[1]=3;}}publicstaticvoidmain(Stringargs[]){try{Proc(0);Proc(1);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println("Catch"+e);}finally{System.out.println("inProcfinally");}}}执行结果:InSituation0noExceptioncaught______inProcfinally标准答案:InSituationl知识点解析:本题考查考生阅读Java程序的能力。题目程序看似复杂,但流程非常简单。程序的public类是throwsException,类中定义了Proc(intsel)方法。程序入口是main()方法,使用try-catch-finally来捕获ArithmeticException和ArraylndexOutOfBounds-Exception异常,这两个异常是关于算术异常或数组索引越界的异常。执行Proc(0)时,输出InSituation0和noExceptioncaught两条信息;执行Proc(1)时,输出InSituationl和inProcfinally两条信息。整个程序并未发生异常。50、请将程序补充完整。importjava.awt.*;publicclassFirstFrameextendsFrame{publicstaticvoidmain(Stringargs[]){FirstFramefr=newFirstFrame("Firstcontainer!");fr.setSize(240,240);fr.setBackground(Color.yellow);______}publicFirstFrame(Stringstr){super(str);}}标准答案:fr.setVisible(true);知识点解析:本题考查容器的概念。题目所给程序段的容器是一个窗口,窗口中并没有放置其他构件,由于默认为不可见,因此需要调用setVisible(true)来设置窗口为可见的。需要注意题目程序只是生成一个窗口,但是并不能响应用户的操作,即使是单击窗口右上角的“关闭”按钮,也不能关闭窗口。国家二级(JAVA)笔试模拟试卷第2套一、公共基础选择题(本题共10题,每题1.0分,共10分。)1、算法的空间复杂度是指()。A、算法程序的长度B、算法程序中的指令条数C、算法程序所占的存储空间D、算法执行过程中所需要的存储空间标准答案:D知识点解析:算法的空间复杂度,是指执行这个算法所需的存储空间。算法所占用的存储空间包括算法程序所占用的空间、输入的初数据所占用的存储空间及算法执行过程中所需要的额外空间。2、用链表表示线性表的优点是()。A、便于随机存取B、花费的存储空间较顺序存储少C、便于插入和删除操作D、数据元素的物理顺序与逻辑顺序相同标准答案:C知识点解析:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。“关系”描述的是数拥元素之间的逻辑关系,因此又称数据的逻辑结构。数据的存储结构是指数据结构(数据的逻辑结构)在计算机中的表示,又称物理结构。数据的存储结构有顺序存储结构和链式存储结构两种,不同存储结构的数据处理效率不同。由于链表采用链式存储结构,元素的物理顺序并不连续,对于插入和删除无需移动元素,很方便,当查找元素时就需要逐个元素查找,因此查找的时间相对更长。3、已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为()。A、GEDHFBCAB、DGEBHFCAC、ABCDEFGHD、ACBFEDHG标准答案:B知识点解析:二叉树的遍历有3种:前序、中序和后序。后序遍历首先遍历左子树或左子结点,然后遍历右子树或右子结点,最后访问根结点:中序遍历首先遍历左子树或左子结点,然后访问根结点,最后遍历右子树或右子结点,后序遍历首先访问根结点,然后遍历左子树或左子结点,最后遍历右子树或右子结点。本题根据前序遍历和中虚序遍历的结果可以得出:又树的结构,然后再对其进行后序遍历,因此答案为选项B。4、下列数据结构中,能用二分法进行查找的是()。A、顺序存储的有序线性表B、线性链表C、二叉链表D、有序线性链表标准答案:A知识点解析:二分法查找只适用于顺序存储的有序线性表,对于顺序存储的非有序线性表和线性链表,都只能采用顺序查找。5、结构化程序设计的3种基本结构是()。A、过程、子程序和分程序B、顺序、选择和重复C、递归、堆栈和队列D、调用、返回和转移标准答案:B知识点解析:程序的三种基本控制结构包括:顺序、选择和重复(循环),这三种结构就足以表达出各种其他形式的结构。6、下列叙述中正确的是()。A、态模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B、在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C、在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D、在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法标准答案:C知识点解析:在模块化程序设汁中,模块之间的联系可以通过程序的控制结构来实现,在自顶向下逐步细化的设汁过程中,首先要考虑全局目标,而不是细节。在程序设计中模块化和结构化可以同时使用,一个模块的内部结构也要符合结构化设计原则。7、设计软件结构是在软件生命周期的()。A、软件定义期B、软件开发期C、软件维护期D、以上3个都不是标准答案:B知识点解析:设计软件结构,是在软件概要设计阶段进行的,而概要设计属于软件开发期。8、数据库技术的根本目标是要解决数据的()。A、存储问题B、共享问题C、安全问题D、保护问题标准答案:B知识点解析:在数据库系统中,需要对数据进行集中、统一的管理,以达到被多个应用程序共享的目标。9、设计数据库的存储结构属于()阶段。A、需求分析B、概念设计C、逻辑设计D、物理设计标准答案:D知识点解析:物理设计阶段主要解决选择文件存储结构和确定文件存取的方法的问题,包括:选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。10、相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和()。A、可重用性差B、安全性差C、非持久性D、冗余性标准答案:D知识点解析:文件系统所管理的数据文件基本上是分散、相互独立的。因此相对于数据库系统,以此为基础的数据处理存在3个缺点:数据冗余大、数据的不一致性、程序与数据的相互依赖(简称为数据依赖)。二、选择题(本题共25题,每题1.0分,共25分。)11、用来导入已定义好的类或包的语句是()。A、mainB、importC、publicclassD、class标准答案:B知识点解析:本题考查Java中的import语句。Java中使用import语句来导入己定义好的类或包,需要注意Java语言的java.lang包是编译器自动导入的,编程时如果使用该包中的类,可省去Import导入,如果要使用其他包中的类,必须用import导入。12、下列叙述中,正确的是()。A、声明变量时必须指定一个类型B、Java认为变量number与Number相同C、Java中唯一的注释方式是"//"D、源文件中public类可以有0或多个标准答案:A知识点解析:本题考查Java中的基本概念。关于Java的基本概念是考试重点,应该重视。在Java中,声明变量时,必须指定类型,否则将会出错,所以选项A说法正确。Java标识符是区分大小写的,这是与C语言不同的,变量number和Number对Java来说是不同的,选项B说法错误。Java中有三种注释方式:文档注释严/**…*/,被javadoc处理,可以建立类的一个外部说明性文件:c语言注释风格/*…*/,用于去掉当前不再使用但仍想保留的代码等:单行注释//,格式上要求注释符//后必须紧跟一个空格,然后才是注释信息,选项C说法错误。源文件中public类可以有0或1个,不能多于1个,选项D说法错误。13、下列属于合法的Java标识符是()。A、ABCB、&5678C、+rriwoD、saler标准答案:D知识点解析:本题考查Java语言中的整型常量。整型常量有3种书写格式:十进制整数,如156J,-230,345:八进制整数:以0开头,如012表示十进制的10:十六进制整数:以0x或OX开头.如0X123表示十进制数291。由此可见,选项A表示的是十六进制整数,选项B不是整数形式,选项C是十进制整数,选项D是八进制整数,为本题正确选项。Java中标识符的命名规则是:标识符以字母、下划线、美元符作为首字符的字符串序列;标识符是区分大小写的:标识符的字符数没有限制由此可见Java中标识符不能以""开头,所以选项A错误,不能以"&"开头,选项B错误,不能以"+"开头,选项c错误,只有选项D是正确答案。14、下列代表十六进制整数的是()。A、0123B、1900C、fa00D、0×a2标准答案:D知识点解析:本题考查Java语言中的整型常量。整型常量有3种书写格式:十进制整数,如123,-30,365:,八进制整数:以0开头,如011表示十进制的9;十六进制整数;以0x或OX开头,如031123表示十进制数291。由此可见,选项D表示的是十六进制整数,选项C不是整数形式,选项B是十进制整数,选项A是八进制整数,只有选项D为本题正确选项。15、在Java中,实现用户界面功能的包是()。A、java.appletB、javax.transactionC、java.utilD、java.awt标准答案:D知识点解析:本题考查考生对Java包功能的了解。选项A中java.applet包是为Applet提供执行需要的所有类,主要访问Applet内容的通信类;选项B中lxansactlOn包是属于javax而不是java.javax.transacUon包是提供事务处理所需要的包:选项C中包提供使用程序类和集合类,如系统特性定义和使用、日期函数类,集合Collection、Map、List、Anay等常用工具类;java.awt包是封装抽象窗口工具包,提供构建和管理用户图形界面功能,为本题正确答案。16、下面()正确表示了int类型的聚会范围。A、-216~216-1B、-231~231-1C、-232~232-1D、-264~264-1标准答案:B知识点解析:该题考查对摹本数据类型的长度范围的掌握。在Java语言中,每一种基本类型的长度范围是固定的,它不随着机器字长的改变而改变。对于整型(int),它的长度是4个字节,而且它可正可负,所以其取值范围应该是-232~232-1e17、在编写JAVA程序的时候,如果不为类的成员变量定义初始值,JAVA会给它们设置默认值,下列说法中不正确的是()。A、Byte的默认值是0B、int的默认值是0C、10ng的默认值是0.0LD、float的默认值是0.0f标准答案:C知识点解析:Long类型的默认值为0L,而不是0.0L。18、JAVA语言中所有的简单数据类型都被包含在()中。A、java.sqlB、java.awtC、java.langD、java.math标准答案:C知识点解析:Java语言中,所有的简单数据类型都被包含在包java.lang中。19、设a=8,则表达式a>>>2:的值是()A、1B、2C、3D、4标准答案:B知识点解析:本题具体考查对位运算符中无符号右移运算符的掌握。无符号右移运算符“>>>”用于将—个数的各二进制位全部无符号右移若干位,与运算符“>>”不同的是左补0。在本题中,8的二进制表示是1000,右移两位后变成了0010,对应的十进制数是2020、以下各选项中能正确声明一个表示50个值为null的字符串数组的是()。A、string[]a;B、stringa[];C、chara[50][]D、stringa[]=newString[50]标准答案:D知识点解析:本题考查对字符串数组变量声明的掌握。在Java语言中,typearrayName[]和type[]arrayNamer效果一样,都表示声明一个数组。所以选项A和选项B的效果是一样的,对于本题来说都是不正确的,因为它们没有指明数组所包含的元素的个数;选项C是一个二维的字符数组,Java语言跟C语言不一样,在C语言中,—个二维的字符数组就可以表示一个一维的字符串数组。而在Java中,字符char是基本数据类型,字符串string则是以对象的形式来表示的。所以,chara[][]并不等价于stringa[]。而且C选项并没有指明数组的长度;选项D正确地声明了一个长度为50的空字符串数组。21、下列程序的输出结果是()。publicclassArrayTest{publicstaticvoidmain(Stringargs[]){int[]intArray=newint[3]for(inti=0;i<3;i++){intArray[i]=i+2;system.out.println("IntArrayr["+i+"]"=intArray[i]);}System.out.println(“---------”);intarrLen=4;IntArray=newint[arrLen];For(intj=intArray.length;j>=0;j--){intArray[j]=j*3;system.out.println("hello"+intArray[j]);}}}A、编译未通过B、编译通过,但运行错误C、可以运行,但有错误D、以上都不对标准答案:B知识点解析:这是一道考查数组引用的题,目的是考查如何在程序中引用初始化后的数组。引用的方式为arrayName[index],其中index为数组的下标,可以为整数,变量和表达式,范围从0开始,一直到数组的长度减1。在Java语言中,是要对数组下标进行检查的。因此当程序运行到数组的长度值时,就发生了越界现象。22、下列程序的运行结果是()。Publicclasssun{Publicstaticvoidmain(Stringargs[]){intx=4,y=0;if(Math.pow(x,2)=16)y=X;if(Math.pow(x,2)<15)y=1/xif(Math.pow(x,2)>15)y=(int)Math.pow(x92)+1;system,out.println(y);}}A、4B、17C、18D、0.25标准答案:B知识点解析:本题是考查对if-else分支结构和几个标准函数的理解。pow(x,y)方法是x的y次幂,程序中pow(x,2)满足第1个if语句和第3个if语句,条件变量y将被赋值两次,但对于同一个变量来说,只能存储最后一个所赋的值。23、自定义的异常类可从()类继承。A、ErrorB、AWTErrorC、VirtualMachineErrorD、Exception及其子集标准答案:D知识点解析:Java语言中Throwable类分为Error和Execption两个子类。自定义的异常类是从Exception及其子集类继承的。24、t为int类型,进入下面的循环之前,t的值为0。则下列说法中正确的是()。while(t=1){…}A、循环控制表达式的值为0B、循环控制表达式的值为1C、循环控制表达式不合法D、以上说法都不对标准答案:B知识点解析:本题考核对while循环及逻辑表达式的理解。循环控制表达式为赋值表达式t=1,水远为1(为具)。25、下面for循环语句的执行结果是()。for(intj=10;j>3;j--){if(j%3!=0)j--;--j;--j;System.out.println(j);}A、63B、74C、62D、73标准答案:B知识点解析:该题考查对for循环的理解。①当j=10时,满足条件j>3,由于for循环中j--执行了1次,j的值为9,执行if浯句,j%3=0不满足条件,继续向下执行2次--j,j的值为7:②当j=7时,满足条件j>3,由于for循环中j--执行了1次,的佰为6,执行if[语句,i%3=0不满足条件,继续向下执行2次--jj的值为4。26、关于Applet执行的操作,下面说法正确的是()。A、在运行时调用其他程序B、可以进行文件读写操作C、不能装载动态连接库和调用任何本地方法D、试图,打开一个socket进行网络通信,但是所连接的主机并不是提供Applet的主机标准答案:C知识点解析:本题考查Applet的概念。Java虚拟机为Applet提供能够良好运行的沙箱,一旦它们试图离开沙箱则会被禁止。由于Applet是通过网络传递的,这就不可避免地使入想到会发生安全问题。例如,有人编写恶意程序通过小应用程序读取用户密码并散播到网络上,这将会是一件非常可怕的事情。所以,必须对小应用程序进行限制。浏览器禁止Applet执行下列操作:Applet不能运行任何本地可运行程序,选项A错误。禁止加载本地库或方法,Applet只能使用自身的代码或Applet浏览器提供的JavaAPI,不允许装载动态连接库和调用任何本地方法,选项c正确。禁止读写本地计算机的文件系统,选项B错误,禁止向提供Applet之外的任何主机建立网络连接,如果Applet试图打开一个socket进行网络通信,所连接的主机必须是提供Aoolet的主机,选项D错误。27、下列关于Applet生命周期的说法,正确的是()。A、voidinit()在Applet下载前调用B、voidstart()只在初始化之后调用C、voidstop()在关闭浏览器时调用D、stop()总在voiddestroy()之前被调用标准答案:D知识点解析:本题考查Applet生命周期的概念。Applet生命周期是考试重点考查内容,应该加以重视ovoidinit()在Apple下载时调用,而木是下载前调用,选项A错误。voidstart()在初始化之后以及在Applet被重新访问时调用,不仅仅只是在初始;之后调用,选项B错误。voidstop()在停止执行时调用,关闭浏览器时调用的是voiddestroY(),选项C错误。voiddestroy()在关闭浏览器Applet从系统中撤出时调用,此时Applet必然调用stop()方法停止其运行,然后才能调用voiddestroy()方法从内存卸载并释放该Applet的所有资源。注意理解Applet的执行过程28、对于下面语句的说法,不正确的是()。ThreadthrObj=newThread();A、系统没有为该线程对象分配资源B、只能启动或者终止C、创建了一个空的线程对象D、可以调用其他方法标准答案:D知识点解析:本题考查线程的创建。通过new命令创建一个线程对象后,该线程对象就处于创建状态,上面的语句只是创建了一个空的线程对象,选项c说法正确。此时,系统并没有为该线程对象分配资源,选项A说法正确。处于这种状态的线程,只能启动或者终止,选项B说法正确。该线程此时并不能调用其他方法,如果调用其他方法就会失败并引起非法状态处理,选项D说法错误。29、在Java中,线程是()。A、分时的B、抢占式的C、非抢占式的D、非分时的标准答案:B知识点解析:本题考查线程的调度。Java的线程调度策略是“种基于优先级的抢占式调度,选项B正确。Java这种抢占式凋度可能是分时的,即每个等待池中的轮流执行,也可以不是,即线程逐个运行,具体采用哪种方式,由具体YVM而定。线程—般通过使用Meep()等方法保证给其他线程运行事件。30、下列关于线程和进程的说法正确的是()。A、进程结构的所有成分都在用户空间内B、用户程序能够直接访问进程涉及的数据C、线程是内核级的实体D、线程结构驻留在用户空间中标准答案:D知识点解析:本题考查线程和进程的概念。线程与进程在概念上是相关的,进程由代码、数据、内核状态和一组寄存器组成,而线程是由表示程序运行状态的寄存器,如程序计数器、栈指针以及堆栈组成,线程不包括进程地址空间中的代码和数据,线程是计算过程在某一时刻的状态。进程是一个内核级的实体,进程结构的所有成分都在内核空间中,一个用户程序不能直接访问这些数据。线程是一个用户级的实体,线程结构驻留在用户空间中,能够被普通的用户级方法直接访问。31、下列选项成员变量声明正确的是()。A、publicprotectedfinalinti;B、abstractclassF1{…}C、privatedoubleheight;D、doubleweigh{}标准答案:C知识点解析:本题考查对成员变量的声明。成员变量的声明格式位:修饰符type变量名;其中type可以是.java语言中的任意数据类型,而修饰符可以是public、protected,private,static,final,transient,volatile等。选项A错误,成员变量不能同时声明成public和protected。选项B是类的声明格式,并不是成员变量的声明。成员变量声明应以“;”结尾,选项D错误。选项C声明了一个私有的double型成员变量,为正确答案。32、下面程序段的输出结果是()classTest{publicstaticvoidmain(Stringargs[]){MyThreadt=newMyThread();t.displayOutput("thasbeencreateD");t.start();}}ClassMyThreadextendsThread{publicvoiddisplayOutput(Strings){System.out.println(S);}publicvoidrun(){displayOutput("tiSrunning.");}}A、thasbeencreated.B、thasbeencreated.TiSrunning.C、tiSrunning.D、编译出错标准答案:A知识点解析:start()方法就可以启动该线程,线程也就处于可运行状态Runnable。Start()方法产生了线程运行需要的系统资源,并调用线程体,也就是Nn()方法,使得线程可以进入运行状态。程序运行时首先创建一个新的线程对象t,并调用displayOutput(Srungs)方法输出thasbeencreatedot.start()方法调用lain()方法,输出tisrunning,所以正确答案为选项A。33、执行下列程序时,会产生什么异常()。publicclassTest{publicstaticvoidmain(Stringargs[]){intd=101;intb=220;longa=321;System.out.println((a-b)/(a-b-d));}}A、ArraylndexOutOfBoundsExceptionB、NumberFormatExceptionC、AriUiinedcExcepdOnD、EOFExCtion标准答案:C知识点解析:本题考查异常的概念。首先应该掌握题目选项中给出的都是什么类型的异常。选项A是当访问数组中非法元素时引发,出现数组负下标异常。选项B是格式化数字异常。选项C是算术异常,如程序触发分母为0,或用0取模时出现。选项D是文件已结束异常。当Java执行这个算术表达式的时候,由于求模运算的分母是a-b-d=0,就会构造一个ArithmeticException的异常对象来使程序停下来并处理这个错误的情况,在运行时抛出这个异常。默认的处理器打印出Exception的相关信息和发生异常的地点。34、下面程序段的输出结果为()。pubUCClassTeS{publicstaticvoidmain(StringargS[]){booleaha,b,c;a=(3<5);b=(a==tme);System.Out.phntln("a="+a+"b="+b);c=(b==false);SyStem.out.println("b="+b+"C="+c);}}A、a=tmeb=falSeB、a=trueb=falseb=truec=falseb=trueC=tmeC、a=trueb=trueD、a=falSeb=falseb=truec=falSeb=tmec=falSe标准答案:C知识点解析:本题考查关系运算符<和==。题目中a=(3<5);比较3和5的大小,因为3<5,返回true给a;b=(a==true);判断a是否为真,因为a确实为真,返回true给b;c=(b=false);判断b是否为假,因为b不为假,返回false给c。最后结果a=true,b=true,b=true,c=false,选项C正确。35、下面程序段的输出结果是()。publiCClaSsTest{publicstaticvoidmain(SthngarSs[]){inta,b;for(a=1,b=1;a<(z100;a++){if(b>=10)break;if(b%2=1){b+=2;continUe;}}System.out.println(a);}}A、5B、6C、7D、101标准答案:B知识点解析:本题考查for循环和if语句的嵌套以及break语句和continue语句的用法。第1个if语句的意义为,当b>=10时退出for循环,第2个if语句的意义为:如果b%2=1,则b的值加2并退出本次循环。本程序当b的值分别为1、3、5、7和9的时候执行5次循环,此时a=5,b=9,当执行第6次循环时,a的值为6但b=11,所以退出循环,程序结束。三、公共基础填空题(本题共5题,每题1.0分,共5分。)36、关系操作的特点是______操作。标准答案:集合知识点解析:在关系数据库中,把数据表示成二维表,每一个二维表称为关系,因此关系其实是数据的集合,对关系的操作其实就是对数据组成的集合之间的操作。37、按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于______。标准答案:线性结构知识点解析:数据的逻辑结构分为线性结构和非线性结构。常见的线性结构有线性丧、栈和队列等,常见的非线性结构有树、二叉树等。38、一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的______。标准答案:非线性结构知识点解析:数据的存储结构是指数据结构(数据的逻辑结构)在计算机中的表示,又称物理结构。数据的存储结构包括顺序存储结构和链式存储结构。数据的逻辑结构有线性结构和非线性结构两大类。39、在面向对象程序设计中,从外面看只能看到对象有外部特征,而不知道也无须知道数据的具体结构以及实现操作的算法,这称为对象的______。标准答案:封装性知识点解析:对象具有5个特点:标识唯一性、分类性、多态性、封装性和模块独立性。其中,封装性是指从外面看只能看到对象的外部特征,对象的内部特征即处理能力的实行和内部状态。刘外足不可见的,对象的内部状态只能由其自身改变。40、在一个容量为32的循环队列中,若头指针front=3,尾指针rear=2,则该循环队列中共有______个元素。标准答案:31知识点解析:设队列容量为m,rear>front,则队列中元素个数为rear-front:rear<front,则队列中元素个数为m+(rear-front)。本题rear<front,则m=32+(2-3)=31。四、填空题(本题共10题,每题1.0分,共10分。)41、多线程是Java语言的______机制,只能够处理同步共享数据和各种不同的事件。标准答案:并发知识点解析:本题考查Java语言的特点。Java语言的开发运行环境都是互联网,在这种分布式的环境中,并发和共事是很常见的事务,要能并行地处理很多事务,就要求Java语言提供一种可靠和高效的机制,来满足高并发事务处理的需求。多线程很好地解决了网络上的瓶颈问题及大星的网络访问问题。42、如果有一个类MyFrame是Frame的子类,但它不能被实例化,请写出该类的声明头:______。标准答案:abstractclassMyFrameextendsFrame知识点解析:本题考查考生对类声明的理解。类声明的格式为[修饰符]class类名[extends父类名][implements类实现的接口列表]其中[]括起来的内容为可选项。关键字class是类定义的开始,类名应符合标识符命名规则。关键字extends指明该类是子类,它的父类名紧跟其后,子类与父类之间有继承关系。关键字implements指明该类实现的接口,后跟接口名列表。考生应注意掌握类声明的概念,虽然很简单,但容易漏掉有关修饰符。题目要求声明不能被实例化的类,因此应该是一个抽象类,用abstract作为修饰符。43、执行下面的赋值语句后,a的值为______。a=Float.valueof("12.34").floatValue();标准答案:a=12.34或12.34知识点解析:本题考查基本类型的类包装。Float类的valueOf()函数的原型是:staticFloatvalueOf(Strings它是一种静态方法,将字符串的内容提取出来转换为Float对象。而floatValue()函数的原型是:floatfloatValue(),它返回Flo对象的浮点值。本题中,先将字符串"12.34"转换为Float对象,然后再提取该对象的浮点型值,赋给a。44、Java运行时系统通过______周期性地释放无用对象所使用的内存,以完成对象的消除。标准答案:垃圾收集知识点解析:本题考查Java的垃圾收集机制。Java语言中内存的分配和释放工作由自己完成,程序员不必做这些工作,它提供一个系统级的线程,跟踪每个内存的分配,在JVM的空闲处理中,垃圾收集线程将检查和释放不再使用的内存(即可以被释放的内存)。垃圾收集的过程在Java程序的生存期中是自动的,不需要分配和释放内存,也避免了内存泄漏。45、要使处于不同层次,甚至是互不相关的类可以具有相同的行为采用______。标准答案:接口知识点解析:本题考查接口的概念。接口是一种只含有抽象方法或常量的特殊的抽象类,主要功能有:不管类的层次,可实现互不相关的类具有相同的行为;通过接口可以说明多个类所需实现的方法;通过接口可以了解对象的交互界面,无需了解对象所对应的类。通过接口可以为没有任何关系的两个或多个类之间提供相同的行为方式。46、关于文件名的处理中,测试当前文件是否目录用______函数。标准答案:booleanlsDirectory()知识点解析:本题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论