点击领取>>全国计算机等级考试真题题库全套最新考试资料
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导入。
下载仅供下载体验和测试学习,不得商用和正当使用。
下载体验
点击下载