计算机二级JAVA124Word下载.docx
《计算机二级JAVA124Word下载.docx》由会员分享,可在线阅读,更多相关《计算机二级JAVA124Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
选项D错误,Java不支持宏定义。
5.数据流图中带有箭头的线段表示的是______。
1.00)
A.控制流
B.事件驱动
C.模块调用
D.数据流
[解析]数据流图的基本符号的意思:
①矩形表示数据的外部实体;
②圆角的矩形表示变换数据的处理逻辑;
③少右面的矩形表示数据的存储;
④箭头表示数据流。
6.下列关于Test类的定义中,正确的是______。
A.classTestimplementsRunnable{publicvoidrun(){}publicvoidsomeMethod[]{}}
B.classTestimplementsRunnable(publicvoidrun();
}
C.classTestimplementsRunnable(publicvoidsomeMethod[];
D.classTestimplementsRunnable{publicvoidsomeMethod(){}
[解析]java中实现多线程的方法之一就是实现Runnable接口中的run方法,把实现Runnable接口的子类对象传递给Thread类的构造函数。
7.下列关于J2EE的特点的说法中,错误的是______。
A.J2EE的基础是J2SE
B.J2EE提供高度的安全性支持
C.支持事务处理和异步通信
D.支持面向过程的Web开发
[解析]J2EE支持高效率的基于构件的Web开发,构件是面向对象的,不是面向过程的。
8.请阅读如下程序。
publicclassOperatorsAndExpressions
{
voidresidual()
inti=100,j=30;
floatm=563.5f,n=4.0f;
System.out.println(i%j);
System.out.println(m%n);
}
publicstaticvoidmain(Stringargs[])
OperatorsAndExpressionsOperAndExpnewOperatorsAndExpressions();
//取模运算符在整数和浮点数中的应用
OperAndExp.residual();
程序运行结果是______。
A.103.5
B.202.5
C.104.5
D.203.5
[解析]因为100%30=10,563.5%4.0=3.5,所以选项A正确。
9.栈和队列的共同点是______。
A.都是先进先出
B.都是先进后出
C.只允许在端点处插入和删除元素
D.没有共同特点
[解析]栈和队列都是操作受限的线性表,只允许在端点插入和删除。
不同点是栈只允许在表的一端进行插入和删除操作,而队列允许在表的一端进行插入操作,而在另一端进行删除操作。
10.下列关于Applet的叙述中,正确的是______。
A.Applet是Java类,所以可以由JDK中的解释器java直接解释运行
B.Applet的主类不一定要定义为java.applet.Applet类或JApplet类的子类
C.Applet与Application的主要区别在执行方式上
D.Applet不能在浏览器中运行
[解析]本题考查Java中Applet与Application的区别。
这个知识点是考试重点,历次考试都有涉及,务必掌握。
Applet是Java类,但Applet不能由JDK中的解释器java直接运行,要在浏览器或appletviewer中运行,运行过程比Application更复杂,选项A和选项D说法错误。
Applet的主类一定要定义为java.applet.Applet类或JApplet类的子类,选项B说法错误。
Applet与Application的主要区别在执行方式上,Application以main()方法为入口点运行,两者都是通过"
javac"
命令编译,所以只有选项C说法正确。
11.有以下程序:
#include<stdio.h>
#defineF(X,Y)(X)*(Y)
voidmain()
inta=3,b=4;
printf("
%d/n"
F(a--,++b));
程序运行后输出的结果是______。
A.8
B.10
C.12
D.15
12.char类型的取值范围是______。
∙A.-27~27-1
∙B.0~216-1
∙C.-215~215-1
∙D.0~28-1
3.00)
A.
B.
C.
D.
[解析]本题考查Java中数据类型的取值范围。
应该掌握常用的数据类型的取值范围,char类型在内存中占16位,取值范围是0~65535,也就是216-1,选项B正确。
13.继承是面向对象编程的一个重要特征,它可降低程序的复杂性并使代码______。
A.可读性好
B.可重用
C.可跨包访问
D.运行更安全
[解析]继承性是面向对象方法的一个重要基本特性,它使代码可重用,可降低程序复杂性。
对一个类的继承是指在现有类(父类)的基础上构建一个新类(子类),子类重用(继承)了父类的方法和状态,同时还可以向新类中增添新的方法和状态。
14.下列特点中不属于Java的是______。
A.多线程
B.多继承
C.跨平台
D.动态性
[解析]Java不支持多重继承(子类只能有一个父类)。
15.功能用来终止当前循环体语句的执行语句是______。
A.if语句
B.if-else语句
C.break语句
D.return语句
16.下面______是合法的标识符。
A.$persons
B.2Users
C.*point
D.this
[解析]本题考查Java标识符的命名,属于考试重点内容,应该掌握。
Java中标识符的命名规则是:
标识符以字母、下画线或美元符作为首字符的字符串序列;
标识符是区分大小写的;
标识符的字符数没有限制。
由此可见,Java中标识符不能以数字开头,所以选项B错误;
不能以“*”开头,选项C错误;
this是专用标识符,具有专门的意义和用途,选项D错误,只有选项A正确。
17.若有以下说明和语句:
intc[4][5],(*p)[5];
p=c;
能够正确引用c数组元素的是______。
A.p+1
B.*(p+3)
C.*(p+1)+3
D.*(p[0]+2)
18.下列Java组件中,不属于容器的是______。
A.Panel
B.Window
C.Frame
D.Label
[解析]本题考查Java组件中容器的基本知识。
选项A错误,Panel类派生自容器类Container,属于容器的一种;
选项B错误,Window类也派生自容器类Container,也属于容器的一种;
选项C错误,Frame类派生自Window类,也是一种容器;
选项D正确,Lable组件是标签组件,不属于容器。
19.请阅读如下程序。
importjava.io.*;
publicclassExceptionCatch
try
FileInputStreamfis=newFilelnputStream("
text"
);
System.out.println("
contentoftextis:
"
catch(FileNotFoundExceptione)
System.out.println(e);
message:
"
+e.getMessageQ);
e.printStackTrace(System.out);
}______;
为保证程序正确运行,程序中下划线处的语句应是______。
A.catch(FileInputStreams)
B.printStackTrace()
C.catch(IOExceptione)
D.System.out.println(e)
[解析]题中程序的最后一个语句体“{System.out.println(e);
}”表示另一个catch从句的开始,catch从句由catch引导,并且要先捕获异常,所以选项C正确。
20.下列各项中不属于AWT提供的图形图像工具的是______。
A.形状
B.按钮
C.颜色
D.字体
[解析]图形图像工具是AWT提供的一个重要功能,具体包括了形状、颜色和字体,属于用户界面构件。
21.以下不属于JavaApplication应用程序编写和执行步骤的是______。
A.编写源代码
B.编写HTML文件
C.编译源代码
D.解释执行
22.下列程序的运行结果是______。
publicclassTestextendsThread{
publicstaticvoidmain(String[]args){
Threadt=newThread();
t.start();
publicvoidrun(){
System.out.println("
Hello"
A.程序不能通过编译,因为没有import语句将Thread类引入
B.程序不能通过编译,因为Test类没有实现Runnable接口
C.程序通过编译,且运行正常,没有任何输出
D.程序通过编译,且运行正常,打印出一个“HeIlo”
[解析]程序中通过继承Thread类来创建线程。
而Java中新创建的线程不会自动运行,必须调用线程的start()方法,才能运行该线程。
23.下面的哪些程序段可能导致错误?
Ⅰ:
Strings="
Gonewiththewind"
;
Stringt="
good"
Stringk=s+t;
Ⅱ:
Stringt;
t=s[3]+"
one"
Ⅲ:
Stringstandard=s.toUpperCase();
Ⅳ:
homedirectory"
Stringt=s-"
directory"
:
A.Ⅱ、Ⅲ
B.Ⅱ、Ⅳ
C.Ⅰ、Ⅳ
D.Ⅲ、Ⅳ
[解析]本题是考杳对String操作符的理解和应用。
Ⅰ段中,String类型可以直接使用+进行连接运算:
Ⅱ段中,String是一种Object,而不是简单的字符数组,不能使用下标运算符取其值的某个元素,错误;
Ⅲ段中,toUppelCase0方法是String对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String类型);
IV段中,String类型不能进行减(—)运算,错误。
24.结构化程序设计所规定的三种基本控制结构是______。
A.输入、处理、输出
B.树形、网形、环形
C.顺序、选择、循环
D.主程序、子程序、函数
[解析]顺序结构、选择结构和循环结构(或重复结构)是结构化程序设计的3种基本结构。
25.当Applet程序中的init()方法为下列代码时,运行后用户界面会出现的情况,以下描述正确的是______。
publicvoidinit()
setLayout(newBorderLayout());
add("
North"
newTextField(10));
Center"
newButton("
help"
));
A.文本框将会出现在Applet的顶上,且有10个字符的宽度
B.按钮将会出现在Applet的正中间,且尺寸为正好能够包容help的大小
C.文本框将会出现在Applet的顶上,从最左边一直延伸到最右边;
按钮将会出现在Applet的正中间,覆盖除文本框外的所有空间
D.按钮与文本框的布局依赖于Applet的尺寸
[解析]该题考查对容器布局策略的理解。
边界布局管理器BorderLayout将容器按上北下南左西右东划分为东、南、西、北、中5部分,分别用英文单词East,gouth,North,West,Center来表示。
其中,东、西、南、北4个方向的组件宽度为恰好能够包容组件的内容,而长度为延伸到该容器边界的长度;
而对于中间的组件,它会扩充到除四边以外的整个容器区域。
本题的具体情况是:
文本框将会出现在applet的顶上,长度为整个applet的宽度;
按钮将会出现在applet的正中央,覆盖除文本框外的所有空间。
26.下面叙述中,正确的是______。
A.算法的执行效率与数据的存储结构无关
B.算法的空间复杂度是指算法程序中指令(或语句)的条数
C.算法的有穷性是指算法必须能在执行有限个步骤之后终止
D.以上三种叙述都不对
[解析]算法的设计可以避开具体的计算机程序没计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。
数据结构和算法是计算机科学的两个重要支柱,它们是一个不可分割的整体。
算法在运行过程中所需辅助存储空间的大小称为算法的空间复杂度。
算法的有穷性是指一个算法必须在执行有限的步骤以后结束。
27.下列不属于Java的图形用户界面内容的包是______。
A.java.ava
B.javax.swing
C.java.ava.event
D.java.io
[解析]选项A中的java.awt是java1.1中设计处理图形界面的包,属于Java的图形用户界面内容的包。
选项B中的javax.swing是java1.2中扩展java.awt功能的处理图形界面的包,属于Java的图形用户界面内容的包。
选项C中的java.awt.event包含了所有图形界面的事件类,属于Java的图形用户界面内容的包。
选项D中的java.10是java中处理输入/输出的包,不属于Java的图形用户界面内容的包,为本题正确答案。
28.下列链表中,其逻辑结构属于非线性结构的是______。
A.二叉链表
B.循环链表
C.双向链表
D.带链的栈
[解析]此题目主要考查数据结构中的非线性结构的基本知识。
其中,循环链表、双向链表、带链的栈都是线性结构,二叉链表是非线性链表。
29.设有如下三个关系表
下列操作中正确的是______。
A.T=R∩S
B.T=R∪S
C.T=R×
S
D.T=R/S
30.关于多线程,下列哪个说法不正确?
A.多线程就是同时执行几个事件
B.多线程是将程序分为几个并行的子任务,由它们并发交叉执行
C.一个进程可产生多线程,形成执行流
D.Java语言支持多线程
[解析]多线程不是同时执行几个事件,在某个时间上,计算机还是在执行一个事件,只是多线程将程序分为几个并行的子任务,由它们并发交叉执行。
在宏观上看,好像是同时执行几个事件。
31.在方法内部使用,代表对当前对象自身引用的关键字是______。
A.super
B.This
C.Super
D.this
[解析]super关键字为实现对父类变量的访问和对父类方法的调用。
对当前对象自身的引用应使用this关键字。
32.下面描述中错误的是______。
A.系统总体结构图支持软件系统的详细设计
B.软件设计是将软件需求转换为软件表示的过程
C.数据结构与数据库设计是软件设计的任务之一
D.PAD图是软件详细设计的表示工具
[解析]系统设计工作应该自顶向下进行。
首先设计总体结构,然后再逐层深入,直至进行每一个模块的设计。
总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存储规律及整个系统实现规划等方面进行合理的安排。
软件设计是把许多事物和问题抽象起来,并且抽象它们不同的层次和角度,将软件需求转换为软件表示的过程。
系统总体结构图支持软件系统的总体设计而非详细设计。
33.下列叙述中正确的是______。
A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
[解析]与顺序存储结构相比,线性表的链式存储结构需要更多的空间存储指针域,因此,线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。
34.下列代码中
if(x>0){System.out.println("
first"
elseif(x>-3){System.out.println("
second"
else{System.out.println("
third"
要求打印字符串为“second”时,x的取值范围是______。
A.x<=0且x>-3
B.x>0
C.x>-3
D.x<=-3
[解析]本题考查Java中的条件结构。
条件语句根据判定条件的真假来决定执行哪一种操作。
题目所给程序,如果x>0,则直接执行其后的System.out.println("
)语句,而不执行elseif等语句,当x<=0且x>-3时执行System.out.println("
)语句,所以选项A正确。
当x为其他值时执行else语句。
应该对Java的流程控制涉及的语句有所掌握,这些都是考试重点内容。
35.下列链表中,其逻辑结构属于非线性结构的是______。
[解析]对于线性结构,除了首结点和尾结点外,每一个结点只有一个前驱结点和一个后继结点。
线性表、栈、队列都是线性结构,循环链表和双向链表是线性表的链式存储结构;
带链的栈是栈的链式存储结构。
二叉链表是二叉树的存储结构,而二叉树是非线性结构,因为二叉树有些结点有两个后继结点,不符合线性结构的定义。
36.设执行下面的赋值语句
a=Float.valueOf("
12.34"
).floatValue()之后,a的值是______。
A.a="
B.a=12.34
C.a=1234
D.a=12
[解析]本题考查对基本类型的类包装的理解。
Float类的valueOf()函数的原型是staticFloatvalueOf(Strings),它是一种静态方法,将字符串的内容提取出来转换为Float对象:
而floatValue()函数的原型是floatfloatValue(),它返回Float对象的浮点值。
本题中,先将字符串”12.34”转换为Float对象,然后再提取该对象的浮点型值,赋给a。
故本题答案是B。
37.在Java中,线程是______。
A.分时的
B.抢占式的
C.非抢占式的
D.非分时的
[解析]本题考查线程的调度。
Java的线程调度策略是一种基于优先级的抢占式调度,选项B正确。
Java这种抢占式调度可能是分时的,即每个等待池中的线程轮流执行,也可以不是,即线程逐个运行,具体采用哪种方式,由具体JVM而定。
线程一般通过使用sleep()等方法保证给其他线程运行时间。
38.软件生命周期是指______。
A.软件产品从提出、实现、使用维护到停止使用退役的过程
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运行维护过程
[解析]软件生命周期(SDLC,SystemsDevelopmentLifeCycle,SDLC)是软件的产生直到报废的生命周期,周期内有问题