淘小兔

点击领取>>全国计算机等级考试真题题库全套最新考试资料

1. 已知:int[]a=newint[100];在下列给出的数组元素中,非法的是(  )。

A.a[0] 

B.a[1]

C.a[99]

D.a[100]

参考解析:

D。【解析】本题考查Java中数组的概念。对于数组的掌握,不能仅仅停留在概念上,更多的是能将所学的知识灵活运用。int[]a=new int[100]定义了一个数组a,含有100个整型元素。在Java中,数组元素的下标是从。开始的,因此上面定义的数组实际上下标是0~99,所以选项D错误。

 

2. 下列语句中,属于多分支语句的是(  )。

A.if语句 

B.for语句

C.switch语句 

D.do while语句

参考解析:

C。【解析】do while语句和for语句是循环语句;it语句和switch语句是分支语句。而if语句称为条件语句, switch语句称为多分支语句。

 

 

3. 阅读下面程序 
public class Operators And Expressions(
void equals Methodl(){
Stringsl一new String("how are you"); 
Strings2=new String("how are you"); 
System.out.println(s1= =s2): 
}
public static void main(String args[]){
Operators And Expressions Oper And Exp=new Oper-
ators And Expressions
(); 
//用于复合类型数据的”= =”运算符 
OperAndExp.equalsMethodl(); 
}
}
程序运行结果是(  )。

A.= = 

B.true

C.false

D.equal

参考解析:

C。【解析】本题考查的是Java语言中运算符的特殊用法。相等比较运算符"= =",不仅可用于基本类型的数据之间的比较,还可以用于复合类型数据之间的比较。但是,对于复合类型数据的"= ="运算,其比较的目标是两个操作数是否是同一个对象。如果需要比较两个对象的值是否相同,则可以调用equals()方法。题目中函数equalsMethodl()的代码非常简单,首先生成两个字符串对象sl和s2,然后输出表达式"sl= =s2"的结果。根据上面介绍的相等比较运算符的用法,字符串对象sl和s2是复合类型数据,因此表达式"sl= =s2"比较的是sl和s2是否同一个对象。显然,sl和s2虽然具有相同的值,即"how are you",但它们是两个不同的对象。因此,本题的正确答案是C。

 

 

4. 下列叙述中,正确的是(  )。

 

 

A.Java语言的标识符是区分大小写的

B.源文件名与public类名可以不相同

C.源文件的扩展名为.jar

D.源文件中public类的数目不限

参考解析:

A。【解析】本题考查考生对Java语言概念的理解。这些属于考试重点内容。Java语言和C语言不同,它是区分大小写的,选项A正确。Java程序的源文件扩展名为 .class,.jar文件是由归档工具jar生成的。源文件中的public类的数目只能有0个或l个,用来指定应用程序类名,也是源文件名。

 

5. 如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是(  )。

A.sleep()方法的时间到

B.获得了对象的锁

C.线程在调t.join()方法后,线程t结果

D.wait()方法结束

参考解析:

D。【解析】wait()方法会使线程放弃对象锁,进入等待此对象的等待锁定池。

 

6. 栈结构不适用于下列应用中的(  )。

A.表达式求值

B.树的层次次序周游算法的实现

C.二叉树对称周游算法的实现

D.快速排序算法的实现

参考解析:

B。【解析】栈是限定仅在表的一端进行插入和删除运算的线性表,这一端称为栈顶(top),另一端称为栈底(botto m),具有后进先出(LIFO)的操作原则。栈是使用最为广泛的数据结构之一,栈可应用于表达式求值、二叉树对称周游算法的实现和快速排序算法的实现等。树的层次次序周游算法的实现用到的是队列而不是栈。

 

7. 下面程序段的输出结果是(  )。 
public class Test{
public static void main(String args[]){
int i=1: 
switch(i){
case0: 
System.OUt.println("0"); 
break; 
casel: 
System.out.println("1"); 
case2: 
System.OUt.println("2"); 
break; 
default: 
System.out.println("default"); 
}
}
}

A.01 

B.12

C.10 

D.21

参考解析:

B。【解析】本题考查switch-case-break的用法。每个分支语句后面必须有break语句,否则程序向下执行,直到遇到break语句或程序结束。所以该题i=1时执行easel分支语句,而casel分支语句后没有break语句,程序继续向下执行case2分支语句,case2语句后有break语句,故程序不执行default分支语句。

 

8. 表达式(10*49.3)的类型是(  )。 

A.double 

B.char 

C.long

D.float 

参考解析:

A。【解析】运算中自动类型转换按优先关系从低级数据转换成高级数据。规定的优先次序是byte,short,char→int→long→float→double。

 

9. 在学生管理的关系数据库中,存取一个学生信息的数据单位是(  )。

A.文件 

B.数据库

C.字段 

D.记录

参考解析:

D。【解析】一个数据库由一个文件或文件集合组成。这些文件中的信息可分解成一个个记录。

 

10. 有下三角矩阵A[0…10,0…10],按行优先顺序存放其非零元素,每个非零元素占两个字节,存放的基地址为100,则元素A[5,53的存放地址为(  )。

A.110 

B.120

C.130

D.140

参考解析:

D。【解析】A[5][5]元素存储的位置在第6行第6列,但由于矩阵A为下三角矩阵,所以A[5][5]之前的非零元素才计入地址内,因而所存储的非零元素的个数应为l+2+3+4+5+5=20,这些元素占用的空间为20×2=40字节,所以A[8][5]的存储位置为l00+40=140。

 

11. 面向对象方法中,继承是指(  )。

A.一组对象所具有的相似性质

B.一个对象具有另一个对象的性质

C.各对象之间的共同性质

D.类之间共享属性和操作的机制

参考解析:

D。【解析】继承:在程序设计中,继承是指子类自动享用父类的属性和方法,并可以追加新的属性和方法的一种机制。它是实现代码共享的重要手段,可以使软件更具有开放性和可扩充性,这是信息组织与分类的行之有效的方法,也是面向对象的主要优点之一。继承又分为单重继承和多重继承。单重继承是指子类只能继承一个父类的属性和操作;而多重继承是指子类可以继承多个父类的属性和操作。Java是一种单重继承语言,而C++是一种多重继 承语言。

 

12. 在深度为5的满二叉树中,叶子结点的个数为(  )。

A.32 

B.31

C.16 

D.15

参考解析:

C。【解析】根据满二叉树的定义,一棵深度为k且有 2k-1个结点的二叉树为满二叉树。满二叉树的叶子结点为最后一层的结点数。根据满二叉树的性质,在满二叉树的第i层上至多有2i-1个结点。因此深度为5的满二叉树的叶子结点数为25-1=16个。

 

13. 下列方法中,声明抛出InterruptedException类型异常的方法是(  )。

A.suspend() 

B.resume()

C.sleep()

D.start()

参考解析:

C。【解析】本题考查线程的基本操作。Java中分享了interrupt方法用来中断一个线程,当调用一个线程的interrupt方法时,即向该线程发送一个中断请求。在调用线程的interrupt方法时,如果该线程由于调用了sleep方法或wait方法而正在处于阻塞状态,那么线程会抛出一个InterruptException异常。

 

14. 请阅读下面程序,说明该程序创建线程使用的方法是(  )。 
public class ThreadTest
{
public static void main(String args[])
{
Thread tl=new Thread(new HolloWorld()); 
Thread t2=new Thread(new HolloWorld()); 
tl.start(); 
t2.Start(); 
}
}
class HolloWorld implements Runnable
{
int i; 
public void run()
{
while(true)
{
System.out.println("HolloWorld"+i++); 
if(i= =5)break; 
}
}
}

A.继承Thread类 

B.实现Runnable接口

C.tl.start()

D.t2.start()

参考解析:

B。【解析】本题考查线程的创建。在Java中,创建线程有两种方法:①通过实现Runnable接口创建线程。Runnable接口中只定义了一个run()方法作为线程体。②通过继承Thread类创建线程,Thread类本身实现了Runnable接口。创建的新的线程不会自动运行,必须调用start()方法才能运行。本题中HolloWorld类实现了Runnable接口。

 

15. 以下各选项中能正确声明一个表示50个值为null的字符串数组的是(  )。

A.string[]a;

B.string a[];

C.char a[50][];

D.string a[]=new String[50]

参考解析:

D。【解析】本题考查对字符串数组变量声明的掌握。在Java语言中,type arrayName[]和type[]arrayName的效果一样,都表示声明一个数组。所以选项A和选项B的效果是一样的,对于本题来说都是不正确的,因为它们没有指明数组所包含的元素的个数;选项C是一个二维的字符数组,Java语言跟C语言不一样,在C语言中,一个二维的字符数组就可以表示一个一维的字符串数组。而在Java中,字符char是基本数据类型,字符串string则是以对象的形式来表示的。所以,char a[][]并不等价于string a[]。而且,C选项并没有指明数组的长度;选项D正确地声明了一个长度为50的空字符串数组。

 

16. 为使下列代码正常运行,应该在下画线处填入的选项是(  )。 
ObjectInputStream In=
new        (new FilelnputStream("employee. 
doc")); 
Employee[]newstaff=(Employee[])in.readObject
(); 
In.close();

A.Reader 

B.InputStream

C.Objectlnput

D.ObjectlnputStream

参考解析:

D。【解析】ObjectlnputStream类和ObjectOutputStream类分列是InputStream类和OutputStream类的子类。ObjectlnputStream类和ObjectOutputStream类创建的对象被称为对象输入流和对象输出流。对象输入流使用readObject()方法读取一个对象到程序中。

 

17. 在一棵二叉树的先序遍历、中序遍历、后序遍历所产生的序列中,所有叶子结点的先后顺序(  )。

A.都不相同

B.完全相同

C.先序和中序相同,而与后序不同

D.中序和后序相同,而与先序不同

参考解析:

B。【解析】根据“根一左一右”,“左一根一右”,“左一右一根”的先序、中序、后序遍历原则,可以知道,在3种遍历所产生的序列中,所有叶子结点的先后顺序是完全相同的。

 

18. 下列的(  )原始类型在使用流时可以互换。

A.byte和boolean 

B.char和int

C.byte和char

D.String和char

参考解析:

B。【解析】本题考查Java语言中字节类型的概念。在Java语言中,byte是字节类型,用1字节表示;boolean是布尔类型,用true和false表示,它们的表示方法并不一样, 也不分享它们之间的转换,选项A错误。Java内部用整数来表示char,通常可以在方法调用和其他语句中互换使用char和int,选项B正确。char用2字节表示,byte字节类型用1字节表示,Java内部也不允许互换使用它们,选项C错误。String在Java语言中是一个类,它分享对字符串的一系列操作,而char是Java语言中的一个基本类型,它不是一个类,两者有本质的区别,故而它们是不能互换使用的,选项D错误。需要注意的是,在Java语言中分享的类都是以大写字母开头,基本类型都用小写字母表示。

 

19. 阅读下列利用递归来求n!的程序。 
class FactorialTest{ 
static long Factorial(int n){//定义Factorial()方法 
if(n= =1)
return l; 
else
return n*Factorial{ }; 
}
public static void main{String a[]}{
//main()方法 
int n=8: 
System.out.println{n+"!="+Factorial
(n)}; 
}
}
为保证程序正确运行,在下画线处应该填入的参数是(  )。

A.n-1 

B.n-2

C.n

D.n+1

参考解析:

A。【解析】因为在n不为l时,n!=n*(n-1)*(n-2)*…*1=n*(n-1)!,所以此处应为n-1。

 

20. 下列关于System类的叙述中,错误的是(  )。

A.System类是一个final类

B.System类不能实例化

C.System类中没有定义属性

D.System类主要分享了系统环境参数的访问

参考解析:

C。【解析】本题考查System类的基本知识。Systern类是一个final类,所有的方法都用类变量来调用,对System类不可能实例化。System类主要用来分享标准输入/输出和系统环境信息的访问设置。而System类的属性有:①public static final InputStream in;标准输入;②publicstatic final OutputStream out;标准输出;③pubhc static finalPrintStream err;标准错误输出。

 

21. 算法的有穷性是指(  )。

A.算法程序的运行时间是有限的

B.算法程序所处理的数据量是有限的

C.算法程序的长度是有限的

D.算法只能被有限的用户使用

参考解析:

A。【解析】算法的有穷性是指算法必须在执行有限的步骤后终止。

 

22. 下列关于Applet的叙述中,正确的是(  )。

A.Applet不仅可以嵌入到浏览器中运行,还可以独立运行

B.Applet的主类要定义为Applet类或Japplet类的子类

C.同一个页面中的Applet之间不能通信

D.Applet不支持多线程

参考解析:

B。【解析】Applet不可以单独运行,Applet支持多线程。

 

23. 下列方法中不能适用于所有Swing组件的是(  )。

A.addKeyListener()

B.addMouseListener()

C.adddMouseMotionListerner()

D.addAdj ustmentListener()

参考解析:

D【解析】本题考查关于Swin9组件注册监听器方法的基本知识。选项A错误,addKeyListener()可为所有组件添加KeyL istener监听器;选项B错误,addMouseListener()可为所有组件添加MouseListener监听器;选项C错误,addMouseMotionListener()可为所有组件添加MouseMotionListener监听器;选项D正确,addAdjustmentListen-er()可为JScrollBar组件添加AdjustmentListener接口,但是并不适用于所有Swing组件。

 

24. 面向对象方法中,继承是指(  )。

A.一组对象所具有的相似性质

B.一个对象具有另一个对象的性质

C.各对象之间的共同性质

D.类之间共享属性和操作的机制

参考解析:

D。【解析】继承:在程序设计中,继承是指子类自动享用父类的属性和方法,并可以增加新的属性和方法的一种机制。它是实现代码共享的重要手段,可以使软件更具有开放性、可扩充性.这是信息组织与分类的行之有效的方法,也是面向对象的主要优点之一。继承又分为单重继承和多重继承,单重继承是指子类只能继承一个父类的属性和操作;而多重继承是指子类可以继承了多个父类的属性和操作。Java是一种单重继承语言,而C++是一种多重继承语言。

 

25. 下列为窗口事件的是(  )。 

A.MouseEvent 

B.WindowEvent

C.ActionEvent

D.KeyEvent

参考解析:

B。【解析】MouseEvent是鼠标事件,ActionEvent是组件事件,KeyEvent是键盘事件。

 

26. 要下列Java Applet程序完整并能够正确运行,横线处应填人的内容是(  )。 
import java.applet.*; 
nmport java.awt.*0
public class HelloWorld{
public void paint(Graphics g){
drawstring("Hello World!",25,25); 
}
}

A.extends Thread 

B.extends Applet

C.extends Char

D.extends Float

参考解析:

B。【解析】本题是考查继承。继承了Applet类。

 

27. 程序设计语言的基本成分是数据成分、运算成分、控制成分和(  )。

A.对象成分 

B.变量成分

C.语句成分 

D.传输成分

参考解析:

D。【解析】程序设计语言的基本成分有:数据成分,用于描述程序所涉及的数据;运算成分,用于描述程序中所包含的运算;控制成分,用于描述程序中所包含的控制;传输成分,用于表达程序中数据的传输。

 

 

28. 下列代码的执行结果是(  )。 
public class Expression{
public static void main(String arga[](
Int vl=10,v2=99,v3=0; 
System.Out.prIntln((vl<O)"((v2/v3)= =3)); 
}
}

A.9.9 

B.3

C.false

D.true

参考解析:

C。【解析】此题后半部分除数是0,按常理说应该报异常,且不会得出结果。但是在计算&&运算时采用了部分结果方法,即先运算前半部分,如果前半部分为假,则不必计算后半部分,整个结构为假,如果前半部分为真,这时才计算后半部分的值,在此,前部分已经为假,所以结果就不用计算后半部分。

 

29. 在HTML文件的<applet>标志中作为可选属性的是(  )。

A.Applet主类的文件名

B.Applet显示区域的宽度

C.Applet主类的路径

D.Applet显示区域的高度

参考解析:

C。【解析】<applet>中可使用复了标志,其中的CODEBASE标志(指定URL地址),如果HTML不指定,浏览器使用和HTML文件相同的URL,所以答案选择C。

 

30. 下列叙述中正确的是(  )。

A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的

B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构

C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构

D.上述三种说法都不对

参考解析:

B。【解析】与顺序存储结构相比,线性表的链式存储结构需要更多的空间存储指针域,因此,线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。

 

 

31. 在程序读入字符文件时,能够以该文件作为直接参数的类是(  )。

A.FileReader

B.BufferedReader

C.FilelnputStream

D.ObjectlnputStream

参考解析:

A。【解析】FileReader、BufferedReader是字符类输入流。FileInputStream是字节输入流。对象串行化时,需要使用ObjectlnputStream类中分享的方法从对象流中读取对象。所以,在程序读入字符文件时,要使用字符流FileReader或BufferedReader。但是FileReader的参数是读入的文件,而BufferedReader的参数是FileReader流的一个对象。因此,本题的正确答案是A。

 

32. 在Java中,线程是(  )。

A.分时的 

B.抢占式的

C.非抢占式的 

D.非分时的

参考解析:

B。【解析】本题考查线程的调度。Java的线程调度策略是一种基于优先级的抢占式调度,选项B正确。Java这种抢占式调度可能是分时的,即每个等待池中的线程轮流执行,也可以不是,即线程逐个运行,具体采用哪种方式,由具体JVM而定。线程一般通过使用sleep()等方法保证给其他线程运行时间。

 

33. 数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的(  )。

A.需求分析阶段 

B.逻辑设计阶段

C.概念设计阶段 

D.物理设计阶段

参考解析:

C。【解析】E-R图为实体一联系图,分享了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。

 

35. 下列关于Java布尔类型的描述中,正确的是(  )。

A.一种基本的数据类型,它的类型名称为boolean

B.用int表示类型

C.其值可以赋给int类型的变量

D.有两个值,1代表真,0代表假

36. 在文件类分享的方法中,用于创建目录的方法是(  )。

A.mkdir() 

B.mkdirs()

C.list()

D.listRoots()

参考解析:

A。【解析】本题考查文件类分享的方法。mkdir()是为目录操作分享酌方法,用来创建目录;mkdirs()也是为目录操作分享的方法,创建包含父目录的目录;list()是对文件名操作分享的方法,返回一个字符串数组,为该文件所在目录下的所有文件名列表;listRoots是为目录分享的方法,返回根目录结构。由此可见,只有选项A满足题目要求。

 

37. 下列能够正确创建线程的方法是(  )。 
Ⅰ.继承java.1ang.Thread类,并重写run()方法 
Ⅱ.继承java.1ang.Runnable类,并重写start()方法 
Ⅲ.实现java.1ang.Thread接口,并实现run()方法 
IV.实现java.1ang.Runable接口,并实现run()方法

A.I,Ⅲ

B.Ⅱ,IV

C.Ⅱ,Ⅲ

D.I,IV

参考解析:

D。【解析】用Thread类的构造方法Thread(Runnable target)创建线程对象时,构造方法中的参数必须是一个具体的对象,该对象称作线程的目标对象,创建目标对象的类必须要实现Runnable接口。

 

 

38. 下列有关数组的叙述中,错误的是(  )。

A.在同一个环境下,数组与内存变量可以同名,两者互不影响 

B.可以用一维数组的形式访问二维数组

C.在可以使用简单内存变量的地方都可以使用数组元素

D.一个数组中各元素的数据类型可以相同,也可以不同

参考解析:

A。【解析】整个数组的数据类型为A(Array),而各个数组元素可以分别存放不同类型的数据。在使用数组和数组元素时,应注意如下问题。在任何能使用简单内存变量的地方都可以使用数组元素。在同一个环境下,数组名不能与简单变量名重复。可以用一维数组的形式访问二维数组。

 

39. 下列关于构造方法的叙述中,错误的是(  )。

A.Java语言规定构造方法名与类名必须相同

B.Java语言规定构造方法没有返回值,但不用void声明

C.Java语言规定构造方法不可以重载

D.Java语言规定构造方法只能通过new自动调用

参考解析:

C。【解析】本题考查的是构造方法的使用。Java语言中,构造方法是一种特殊的方法,是为对象初始化操作编写的方法,用它来定义对象的初始状态。Java中的每个类都有构造方法,它也是由方法名、参数和方法体组成的。构造方法有如下特点: ·构造方法的名字必须与类名相同。 
·构造方法不返回任何数据,但不用void来声明。 
·用户不能直接调用构造方法,必须通过关键字new自动调用。 
·构造方法可由用户在类中定义,默认时由Java语言自动生成。但它是个空方法,变量被赋予该数据类型的默认值。 
·在构造方法实现中,可以进行方法重载,即定义多个构造方法。重载构造方法的目的是使类具有不同的初始值,为类对象的初始化分享方便。根据上述构造方法的特点可知,本题选项C的说法是错误的。

 

40. 用来导入已定义好的类或包的语句是(  )。

A.main 

B.import

C.public class

D.ClaSS

参考解析:

B。【解析】本题考查Java中的import语句。Java中使用import语句来导入已定义好的类或包,需要注意Java语言的java.lang包是编译器自动导入的,编程时如果使用该包中的类,可省去import导入,如果要使用其他包中的类,必须用import导入。

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载