java笔试题 第六套题.docx
《java笔试题 第六套题.docx》由会员分享,可在线阅读,更多相关《java笔试题 第六套题.docx(21页珍藏版)》请在冰点文库上搜索。
java笔试题第六套题
一、选择题
1、数据的存储结构是指______。
A、存储在外存中的数据
B、数据所占的存储空间量
C、数据在计算机中的顺序存储方式
D、数据的逻辑结构在计算机中的表示
2、下列关于栈的描述中错误的是______。
A、栈是先进后出的线性表
B、栈只能顺序存储
C、栈具有记忆作用
D、对栈的插入与删除操作中,不需要改变栈底指针
3、对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是______。
A、冒泡排序为n/2
B、冒泡排序为n
C、快速排序为n
D、快速排序为n(n-1)/2
4、对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。
A、
B、n/2
C、n
D、n+1
5、下列对于线性链表的描述中正确的是______。
A、存储空间不一定是连续,且各元素的存储顺序是任意的
B、存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C、存储空间必须连续,且前件元素一定存储在后件元素的前面
D、存储空间必须连续,且各元素的存储顺序是任意的
6、下列对于软件测试的描述中正确的是______。
A、软件测试的目的是证明程序是否正确
B、软件测试的目的是使程序运行结果正确
C、软件测试的目的是尽可能多地发现程序中的错误
D、软件测试的目的是使程序符合结构化原则
7、为了使模块尽可能独立,要求______。
A、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
8、下列描述中正确的是______。
A、程序就是软件
B、软件开发不受计算机系统的限制
C、软件既是逻辑实体,又是物理实体
D、软件是程序、数据与相关文档的集合
9、数据独立性是数据库技术的重要特点之一。
所谓数据独立性是指______。
A、数据与程序独立存放
B、不同的数据被存放在不同的文件中
C、不同的数据只能被对应的应用程序所使用
D、以上三种说法都不对
10、用树形结构表示实体之间联系的模型是______。
A、关系模型
B、网状模型
C、层次模型
D、以上三个都是
11、在Java中,负责对字节代码解释执行的是______。
A、垃圾回收器
B、虚拟机
C、编译器
D、多线程机制
12、下列叙述中,正确的是______。
A、Java语言中的标识符是区分大小写的
B、源文件名与public类名可以不相同
C、源文件名其扩展名为.jar
D、源文件中public类的数目不限
13、下列属于合法的Java标识符是______。
A、_cat
B、5books
C、+static
D、-3.14159
14、在Java中,表示换行符的转义字符是______。
A、\n
B、\f
C、'n'
D、\dd
15、在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是______。
A、java.applet
B、java.awt
C、java.util
D、java.lang
16、在Java中,所有类的根类是______。
A、java.lang.Object
B、java.lang.Class
C、java.applet.Applet
D、java.awt.Frame
17、在Java中,用package语句说明一个包时,该包的层次结构必须是______。
A、与文件的结构相同
B、与文件目录的层次相同
C、与文件类型相同
D、与文件大小相同
18、在读字符文件Employee.dat时,使用该文件作为参数的类是______。
A、BufferedReader
B、DataInputStream
C、DataOutputStream
D、FileInputStream
19、下列构造方法的调用方式中,正确的是______。
A、按照一般方法调用
B、由用户直接调用
C、只能通过new自动调用
D、被系统调用
20、类Panel默认的布局管理器是______。
A、GridLayout
B、BorderLayout
C、FlowLayout
D、CardLayout
21、在Java中,能实现多重继承效果的方式是______。
A、内部类
B、适配器
C、接口
D、同步
22、char类型的取值范围是______。
A、2-7~27-1
B、0~216-1
C、-215~215-1
D、0~28-1
23、能够支持javadoc命令的注释语句是______。
A、/**...//
B、/*...*/
C、//
D、/**...*/
24、十进制数16的16进制表示格式是______。
A、0x10
B、0x16
C、0xA
D、016
25、int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是______。
A、publicintMAX_LENGTH=100
B、finalintMAX_LENGTH=100
C、publicconstintMAX_LENGTH=100
D、publicfinalintMAX_LENGTH=100
26、下列不是InputStream子类的是______。
A、文件输入流FileInputStream
B、对象输入流ObjectInputStream
C、字符输入流CharInputStream
D、压缩文件输入流ZipInputStream
27、下列方法中可以用来创建一个新线程的是______。
A、实现java.lang.Runnable接口并重写start()方法
B、实现java.lang.Runnable接口并重写run()方法
C、继承java.lang.Thread类并重写run()方法
D、继承java.lang.Thread类并重写start()方法
28、下列关于JavaApplication与Applet的说法中,正确的是______。
A、都包含main()方法
B、都通过"appletviewer"命令执行
C、都通过"javac"命令编译
D、都嵌入在HTML文件中执行
29、当启动Applet程序时,首先调用的方法是______。
A、stop()
B、init()
C、start()
D、destroy()
30、下列关于线程优先级的说法中,正确的是______。
A、线程的优先级是不能改变的
B、线程的优先级是在创建线程时设置的
C、在创建线程后的任何时候都可以设置
D、B和C
31、当浏览器重新返回Applet所在页面时,将调用Applet类的方法是______。
A、start()
B、init()
C、stop()
D、destroy()
32、按照Java的标识符命名规范,下列表示一个类的标识符正确的是______。
A、Helloworld
B、HelloWorld
C、helloworld
D、helloWorld
33、下列代码中,将引起一个编译错误的行是______。
1)publicclassTest{
2)intm,n;
3)publicTest(){}
4)publicTest(inta){m=a;}
5)publicstaticvoidmain(Stringargs[]){
6)Testt1,t2;
7)intj,k;
8)j=0;k=0;
9)t1=newTest();
10)t2=newTest(j,k);
11)}
12)}
A、第3行
B、第5行
C、第6行
D、第10行
34、下列程序的功能是在监控台上每隔一秒钟显示一个字符串"Hello!
",能够填写在程序中下划线位置,使程序完整并能正确运行的语句是______。
publicclassTestimplementsRunnable{
publicstaticvoidmain(Stringargs[]){
Testt=newTest();
Threadtt=newThread(t);
tt.start();
}
publicvoidrun(){
for(;;){
try{
____________;
}catch(____________e){}
System.out.println("Hello!
");
}
}
A、sleep(1000)
InterruptedException
B、t.sleep(1000)
InterruptedException
C、Thread.sleep(1000)
RuntimeException
D、Thread.sleep(1000)
InterruptedException
35、阅读下列代码后
publicclassPerson{
intarr[]=newint[10];
publicstaticvoidmain(Stringargs[]){
System.out.println(arr[1]);
}
}
正确的说法是______。
A、编译时将产生错误
B、编译时正确,运行时将产生错误
C、输出为零
D、输出为空
二、填空题
36、某二叉树中度为2的结点有18个,则该二叉树中有个叶子结点。
37、在面向对象方法中,类的实例称为。
38、诊断和改正程序中错误的工作通常称为。
39、在关系数据库中,把数据表示成二维表,每一个二维表称为。
40、问题处理方案的正确而完整的描述称为。
41、Java源文件中最多只能有一个______类,其它类的个数不限。
42、在Java中所实现的多维数组,实际上是由一维数组构成的______。
43、StringBuffer类提供______字符串对象的表示。
44、每个Applet程序必须是一个______类的子类。
45、线程在生命周期中要经历5种状态,分别是新建状态、可运行状态、运行状态、______状态和终止状态。
46、FileInputStream是字节流;BufferedWriter是字符流;ObjectOutputStream是______。
47、break语句最常见的用法是在switch语句中,通过break语句退出switch语句,使程序从整个switch语句后面的______开始执行。
48、请阅读下列程序代码,然后将程序的执行结果补充完整。
程序代码:
classthrowsException
{
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(String[]args)
{
try{
Proc(0);
Proc
(1);
}catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("Catch"+e);
}finally{
System.out.println("inProcfinally");
}
}
}
执行结果:
InSituation0
noExceptioncaught
______
inProcfinally
49、当使用Threadt=newThread(r)创建一个线程时,表达式:
rinstanceofThread的值是______。
50、面向对象的语言将客观世界都看成由各种对象组成。
具有共同特征和行为的对象组成类,类是变量和______的集合体。
试题解析
1、数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。
本题答案为D。
2、栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。
一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。
所以栈又称先进后出表(FILO-FirstInLastOut)。
线性表可以顺序存储,也可以链式存储,而栈是一种线性表,也可以采用链式存储结构。
本题答案为B。
3、假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后扫描和n/2遍的从后往前扫描,需要比较次数为n(n-1)/2。
快速排序法的最坏情况比较次数也是n(n-1)/2。
本题答案为D。
4、在进行顺序查找过程中,如果线性表中的第一个元素就是被查找元素,则只需做一次比较就查找成功,查找效率最高;但如果被查找的元素是线性表中的最后一个元素,或者被查找的元素根本就不在线性表中,则为了查找这个元素需要与线性表中所有的元素进行比较,这是顺序查找的最坏情况。
所以对长度为n的线性表进行顺序查找,在最坏情况下需要比较n次。
本题答案为C。
5、在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
本题答案为A
6、关于软件测试的目的,GrenfordJ.Myers在《TheArtofSoftwareTesting》一书中给出了深刻的阐述:
软件测试是为了发现错误而执行程序的过程;一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。
整体来说,软件测试的目的就是尽可能多地发现程序中的错误。
本题答案为C。
7、模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。
在程序结构中,各模块的内聚性越强,则耦合性越弱。
一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
本题答案为B。
8、计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。
软件具有以下特点:
①软件是一种逻辑实体,而不是物理实体,具有抽象性;②软件的生产过程与硬件不同,它没有明显的制作过程;③软件在运行、使用期间不存在磨损、老化问题;④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致软件移植的问题;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。
本题答案为D。
9、数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。
也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。
选项A、B、C三种说法都是错误的。
本题答案为D。
10、层次模型是最早发展起来的数据库模型,它的基本结构是树形结构。
本题答案为C。
11、本题考查的是Java语言的特点和实现机制。
虚拟机(JVM)负责对字节码(ByteCode)进行解释执行。
故本题答案为B。
12、本题考查的是Java语言基础。
Java语言中的标识符是区分大小写的;Java中源文件名必须与public类名相同,且源文件的扩展名必须为java;每个源文件中最多只能有一个public类。
故本题答案为A。
13、本题考查的是Java语言基础。
Java语言中,所有变量、常量、对象和类都是用标识符命名的。
标识符的命名规则如下:
(1)必须以字母、下划线(_)或美元符($)开头
(2)区分大小写
(3)长度无限制,但不宜过长
故本题答案为A。
14、本题考查的是Java的基本数据类型。
字符"\"为Java中的转义字符;"\n"表示换行符。
故本题答案为A
15、本题考查的是Java的API结构。
java.lang包封装了所有基本类。
由Java编译器自动导入。
因此,编程时使用该包中的类,可省去import导入。
但使用其它包中的类,必须用import导入。
故本题答案为D。
16、本题考查的是Java的API结构。
java.lang.Object是Java中所有类的根类;java.lang.Class是由编译器自动生成的一个伴随每个类的特殊类;java.applet.Applet是所有Applet的父类;java.awt.Frame用于构建GUI中的窗体。
故本题答案为A。
17、本题考查的是包的使用。
包的层次结构必须与文件目录的层次相同。
如定义一个包:
packagecom.wuyou,则包含该package语句的源文件须放在名为wuyou的文件夹下,而文件夹wuyou的父文件夹必须是com。
故本题答案为B。
18、本题考查的是文件和文件I/O。
BufferedReader用来从字符输入流中读取并缓冲字符,以提高读取字符(或字符数组)的效率。
其构造方法为:
publicBufferedReader(Readerin)
publicBufferedReader(Readerin,intsz)
DataInputStream用来以独立于机器的方式从潜在的输入流中读取Java基本数据类型。
构造方法为:
DataInputStream(InputStreamin)
FileInputStream用来从文件中读取字节。
构造方法为:
FileInputStream(Stringname)
FileInputStream(Filefile)
故本题答案为D。
19、本题考查的是类的定义。
构造方法用来初始化对象,其方法名必须与类名相同且只能通过new自动调用。
故本题答案为C。
20、本题考查的是布局管理器。
1、GridLayout布局管理器使容器中各个构件呈网格状布局,平均占据容器的空间。
即使容器的大小发生变化,每个构件还是平均占据容器的空间。
构件在往容器中放置的时候,是按照从上到下、从左到右的规律进行的。
2、BorderLayout是Window,Frame和Dialog的默认布局管理器。
BorderLayout布局管理器把容器分成5个区域:
North,South,East,West和Center,每个区域只能放置一个构件。
3、FlowLayout是Panel和Applet的默认布局管理器。
构件在容器中的放置规律是从上到下、从左到右进行放置,如果容器足够宽,第一个构件先添加到容器中第一行的最左边,后续的构件依次添加到上一个构件的右边,如果当前行已放置不下该构件,则放置到下一行的最左边。
构件的大小不随容器的大小改变而改变。
4、CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,它把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个构件。
故本题答案为C。
21、本题考查的是接口。
Java实现的是单继承,即一个类只能从一个直接父类继承属性和方法;但一个接口可以继承多个父接口的成员,故可以利用接口能实现多重继承的效果。
故本题答案为C。
22、本题考查的是Java语言的基本数据类型。
char类型数据是用无符号16位二进制表示的,故其取值范围为0~216-1。
故本题答案为B。
23、本题考查的是Java语言中的注释语句。
Java的单行注释符为//,多行注释符有/*...*/和/**...*/(javadoc能够利用该注释符自动生成帮助文档)。
故本题答案为D。
24、本题考查的是Java语言的基本数据类型。
Java语言中,16进制数以Ox开头,8进制数以0开头;而(16)10=(10)16。
故本题答案为A。
25、本题考查的是类成员修饰符。
Java语言中,final关键字修饰的变量的值在其被分配初值后不能被改变。
故本题答案为D。
26、本题考查的是Java的输入输出流。
Java中没有CharInputStream流。
故本题答案为C。
27、本题考查的是Java语言中线程的创建方法。
java.lang中的Thread类的典型构造方法为:
publicThread(ThreadGroupgroup,Runnabletarget,Stringname)
接口Runnable定义了run()方法;而Thread类本身也实现了Runnable接口,故创建线程有两种方法:
1、用实现Runnable接口的类的实例作target参数生成Thread类的实例
2、编写继承Thread类的类,并重写(override)run()方法
故本题答案为C。
28、本题考查的是JavaApplication和Applet。
JavaApplication本身是一个类,该类必须有且只有一个main()方法(不能多载);JavaApplet本身不能独立运行,必须由支持Applet的浏览器或其它软件加载运行。
但JavaApplication和JavaApplet都是通过javac编译的。
故本题答案为C。
29、本题考查的是Applet的生命周期。
Applet从被加载到卸载,其被调用的方法依次如下:
init()、start()、stop()、destroy()
故本题答案为B。
30、本题考查的是Java语言中线程的优先级。
Java语言中线程的优先级是用一个介于MIN_PRIORITY和MAX_PRIORITY之间的整数来表示的。
可以在创建线程后的任何时候修改线程的优先级。
故本题答案为C。
31、本题考查的是Applet的生命周期。
当浏览器重新返回Applet所在页面时,Applet类的start()方法将被调用。
故本题答案为A。
32、本题考查的是Java的命名约定。
Java的命名约定的基本原则如下:
(1)_、$不作为变量名、方法名开头。
(2)变量名、方法名首单词小写,其余单词只有首字母大写。
如myVariable,myMethod。
(3)接口名、类名的单词首字母大写。
如MyInterface,MyClass。
(4)常量名的每个字母都大写。
故本题答案为B。
33、本题考查的是类的构造方法的调用。
第10行代码中的参数数目比类Test的任何一个构造方法声明的形参都多,因此引起编译错误。
故本题答案为D。
34、本题考查的是线程的使用。
Thread的sleep方法的原型如下:
publicstaticvoidsleep(longmillis)throwsInterruptedException
sleep()的功能是使当前