计算机等级考试二级Java练习题及解析1
1 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)。
A、可行性分析 B、需求分析 C、详细设计 D、程序编码
2 下面叙述正确的是______C。
A、算法的执行效率与数据的存储结构无关 B、算法的空间复杂度是指算法程序中指令(或语句)的条数
C、算法的有穷性是指算法必须能在执行有限个步骤之后终止 D、以上三种描述都不对
3 在一棵二叉树上第5层的结点数最多是___B___。
A、8 B、16 C、32 D、15
4 下面描述中,符合结构化程序设计风格的是___A___。
A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B、模块只有一个入口,可以有多个出口
C、注重提高程序的执行效率 D、不使用goto语句
5 下列模式中,能够给出数据库物理存储结构与物理存取方法的是__A____。
A、内模式 B、外模式 C、概念模式 D、逻辑模式
6 在下面附属类方法中的下划线处,应填入的正确参数是 C 。
public void writeData( throws IOException
{
GregoranCalendar calendar=new GregorianCalendar()
calendar.setTime(hireDay);
out.println(name+"|"
+salary+"|"
+calendar.get(Calendar.YEAR)+"|"
+(calendar.get(Calendar.MONTH)+1)+"|"
A、Employee[] e B、"employee.dat" C、PrintWriter out D、BufferedWriter
7 在匹配器(Matcher)类中,用于输入字符串与模式串比较的方法是 A 。
A、static boolean matches() B、boolean matcher.find() C、int matcher.start() D、int matcher.end()
8 下列内部类的正确用途是 B 。
btnn.addActionListener(new ActionListener() //注册
{
public void actionPerformed(ActionEvent event)
{
String s=input.getText();
output.setText("Hello"+s+",Welcome You!";
}
})
A、用于访问外部类的数据 B、用于进行事件处理 C、隐藏起来不被同一包中的其他类所见 D、生成事件适配器
9 下面程序段:
boolean a=false;
boolean b=true;
boolean c=(a&&b)&&(!b);
boolean result =(a&b)&(!b);
执行完后,正确的结果是 A 。
A、c=false;result=false B、c=true;result=true C、c=true;result=false D、c=false;result=true
10 下列属于正则表达式的是___D___。
A、一个数组 B、一组二进制数据 C、一个字符串 D、一个公式
11 下列关于Applet的叙述中,错误的是 A 。
A、Applet是Java类,所以可以由JDK中的解释器java.exe直接解释运行
B、Applet应该定义为java.applet.Applet类或javax.swing.JApplet类的子类
C、Applet与Application的主要区别在执行方式上
D、通过在HTML文件中采用标记可以向Applet传递参数
12 java中对Applet设置了严格的安全。下列关于Applet在Java2中安全叙述正确的是 C 。
A、根本无法解除 B、只有部分可以解除,而其它无法解除 C、可以在安全策略的控制下解除 D、已经缺省地全部解除
13 下列数组a中,版本较新的能在程序运行时动态调整大小的是 C 。
A、int a[] B、String[] a C、a=new ArrayList() D、a=new Array()
14 调用线程的下列方法,不会改变该线程的生命周期中状态的方法是 D 。
A、yield() B、wait() C、sleep() D、isAlive()
15 下列叙述中,错误的是 D 。
A、接口与类的层次无关 B、通过接口说明类所实现的方法 C、通过接口可了解对象的交互界面 D、接口与存储空间有关
16 与Applet生命周期相关的方法的数量是 A 。
A、4种 B、3种 C、2种 D、5种
17 下列情况中,不会使线程返回所持有的对象锁的是 B 。
A、当synchronized()语句块执行完毕 B、当调用了线程的suspend()方法
C、当在synchronized()语句块中出现异常(exception) D、当持有锁的线程调用该对象的wait()方法
二 填空题
1 关系数据库管理系统能实现的专门关系运算包括选择、连接和投影
2 数据的逻辑结构在计算机存储空间中的存放形式称为数据的模式 或 逻辑模式 或 概念模式
如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,请写出该类的声明头:public class MyFrame extends Frame
3 接口可以看作是仅容纳抽象方法 或 抽象的方法、常量,而又不能直接生成对象的特殊抽象类。
4 Java简单性首先表现在自身系统的精练,它的基本解释程序和类库的支持 或 类库支持占内存40KB,附加的基本标准类库和支持线程程序占175KB。
5 包含Swing构件的Applet(小应用程序)应该是javax.swing.JApplet 或 JApplet类的直接子类。
6 Java对象串行化技术,主要是通过ObjectInputStream类和ObjectOutputStream类来实现。
计算机等级考试二级Java练习题及解析2
1 数据库的设计包括两个方面的设计内容,他们是:概念设计和逻辑设计
2 操作是对象的动态属性,对象间的通讯靠消息传递,对象是属性和方法的封装体。
3 一种数据的逻辑结构可以有多种存储结构,数据的存储结构与数据处理的效率密切相关,数据的存储结构在计算机种所占的空间不一定是连续的。
4 线性连表中的各元素在存储空间中的位置不一定是连续的,切各元素的存储顺序也是任意的。
5 检查软件产品是否符合需求定义的过程称为:确认测试
6 二叉连表为非线性结构,线性结构的数据结构有:线性连表、带链的栈、带链的队列。
7 软件设计原则:抽象化、模块化、信息隐蔽,不包括:自底向上。
8 该程序段执行后显示的结果是:2 int m=8; if(B(5)) m%=6; System.out.println(m);
9 为区分重载多态中同名的不同方法,要求:采用不同形式参数列表(既参数的数量和类型不同)
10 在某个类中定义一个方法:void GetSort(int x),以下关于能否做为这个方法的重载错误的是:__D_____
A)void GetSort(float x){x*=x;} B)int GetSort(double y){return(int)(s*y);}
C)double GetSort(int x,int y){return x+Y} D)都不能
11 内部类、方法重载
12 下面在命令行运行Java应用程序A:java A the first snow,the first snow came.怎样才能杂main(String args[])方法中访问单词”firt”_____D_______
A a[0] B a[2] C c[4] D a[5]
13 面向对象程序实际的基本特征的是:抽象、继承、封装 (不包括:静态)
14 类是Java语言的一种复合数据类型。
15 子类必须通过super关键字调用父类有参数的构造函数。
16 在软件测试方法中,黑盒测试和白盒测试是常用的方法,其中黑盒测试主要用于测试:软件外部功能。
17 关系型数据库管理系统中存储与管理数据的基本形式是:二维表
18 算法的基本要素包括:对数据对象的运算的操作、算法的控制结构
19 栈的基本运算主要有:入栈运算、退栈运算、读栈运算
计算机等级考试二级Java练习题及解析3
1 算法的时间复杂度是指__算法执行过程中所需要的基本运算次数____
2 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为__350____。
3 结构化程序设计主要强调的是___程序的易读性___。
4 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是__ D、需求分析____
5 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是__控制流____。
6 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及___需求评审___。
7下述关于数据库系统的叙述中正确的是___数据库系统减少了数据冗余___。
8 数据库设计包括两个方面的设计内容,它们是__概念设计和逻辑设计____。
91以下 B 不是Java中有效的关键字。
A、const B、NULL C、false D、this
10 Panel默认的布局管理器是 A、FlowLayout 。
11 下面 B 方法与applet的显示无关。
A、update() B、draw() C、repaint() D、paint()
12下列 内容是异常的含义。
A、程序的语法错 B、程序编译或运行中所发生的异常事件 C、程序预定义好的异常事件 D、程序编译错误
13 当方法遇到异常又不知如何处理时,下列 C 做法是正确的。
A、捕获异常 B、抛出异常 C、声明异常 D、嵌套异常
14 计算机中的流是 D 。
A、流动的字节 B、流动的对象 C、流动的文件 D、流动的数据缓冲区
15 当检索一个压缩文件时,首先要建立压缩文件输入流对象。该对象 B 。
A、以选中的压缩文件为参数 B、以FileInputStream对象为参数
C、以InputStreamReader对象为参数 D、以BufferedReader对象为参数
16 一个Java Application运行后,在系统中是作为一个 B 。
A、线程 B、进程 C、进程或线程 D、不可预知
17 要串行化某些类的对象,这些类就必须实现 A 。
A、Serializable接口 B、java.io.Externalizable接口
C、java.io.DataInput接口 D、DataOutput接口
18 Swing构件的程序不具有 A 。
A、本地代码 B、标签 C、菜单 D、容器
19 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化和使用goto语句。
20 软件的调试方法主要有:强行排错法、回朔法_和原因排除法。
21 数据库系统的三级模式分别为 概念级 模式、内部级模式与外部级模式。
22 数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、 数据存储 和处理过程。
23 Java语言的各种数据类型之间提供两种转换:强制转换和 自动转换 。
24 Java语言中,临界区用 Synchronized 关键字标识。
解析:
1 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。
软件生命周期的主要活动阶段为:
(1)可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。
(2)需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。
(3)软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。
(4)软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。
(5)软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。
(6)运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。
2 数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭。
3 软件的需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。
需求获取的目的是确定对目标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。
需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。
编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。
需求评审是对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。
4 标识符命名规则为:
1、标识符是以字母、下划线、美元符($)作为首字符的字符串序列。在首字符后面可以跟字母、下划线、美元符和数字。
2、标识符区分大小写。
3、标识符的字符数目没有,但为便于阅读和记忆,不宜太长。
5 数组中length是属性,而字符串中是通过length()方法获得字符长度的,
6 对于二元算术运算符,其表达式结果的类型归纳为以下几类情况:
(1)操作数全为整型,那么,只要其中有一个为long型,则表达式结果为long型。
(2)两个操作数全是byte型或short型,表达式结果也为int型。
(3)操作数为浮点型,只要其中有一个为double型,表达式结果就是double型。
(4)两个操作数全是float型或其中一个是float型,而另外一个是整型,则表达式结果为float型。
7 BorderLayout是Window,Frame和Dialog的默认布局管理器。BorderLayout布局管理器把容器分成5个区域:North,South,East,West和Center,每个区域只能放置一个构件。
8 FlowLayout是Panel和Applet的默认布局管理器。构件在容器中的放置规律是从上到下、从左到右进行放置,如果容器足够宽,第一个构件先添加到容器中第一行的最左边,后续的构件依次添加到上一个构件的右边,如果当前行已放置不下该构件,则放置到下一行的最左边。构件的大小不随容器的大小改变而改变。9 Applet显示相关的3个方法:
(1)、paint()方法:Applet的paint()方法具体执行Applet的绘制,该方法定义如下:
public void paint(Graphics g)
paint()方法有一个参数g是Graphics类的实例,该实例对象由浏览器生成,它包含了Applet的图形上下文信息,通过它向Applet中显示信息,该对象相当于Applet的画笔。在调用paint()方法时,由浏览器将该对象传递给paint()方法。
(2)、update()方法:
public void update(Graphics g)
用于更新Applet的显示。该方法将首先清除背景,再调用paint()方法完成Applet的具体绘制。
(3)、repaint()方法:
public void repaint()
repaint()方法主要用于Applet的重新显示,它调用update()方法实现对Applet的更新。
10 流,最早从C语言中引入的。其可以看成是一个流动的数据缓冲区。数据从数据源方向经过缓冲区流向数据的目的地。在传送的过程中,其传送方式是串行的。在Java中的java.io包中定义了Java中常见流的接口与类。其中包括两个最基本的流的抽象类,它们分别是OutputStream与InputStream。其余的流都分别从这两个基本类中继承而来。
11 在java.io包中提供了对压缩文件进行操作的能力。它是通过压缩文件输入流与压缩文件输出流来实现的,其分别继承自InflaterInputStream与DeflaterOutputStream。在创建压缩文件输入流时,其初始化参数是一个FileInputStream类的实例。
12 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、中序遍历和后序遍历。
前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
中序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。
后序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历右子树,然后访问根结点,最后遍历左子树;并且遍历左、右子树时,仍然先遍历右子树,然后访问根结点,最后遍历左子树。
13 调式的关键在于推断程序内部的错误位置及原因。其主要的调试方法有:强行排错法、回溯法和原因排除法。
强行排错法:是传统的调试方法,其过程可概括为:设置断点、程序暂停、观察程序状态、继续运行程序。这是目前使用较多、效率较低的调试方法。
回溯法:该方法适合于小规模程序的排错。即一旦发现了错误,先分析错误征兆,确定最先发现"症状"的位置。然后,从发现"症状"的地方开始,沿程序的控制流程,逆向跟踪源程序代码,直到找到错误根源或确定错误产生的原因。
原因排除法:是通过演绎和归纳,以及二分法来实现的。
数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式和外部级模式。
14 概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。
内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。
外模式也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。
数据字典是各类数据描述的集合,它通常包括5个部分,即数据项,是数据的最小单位;数据结构,是若干数据项有意义的集合;数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出;数据存储,处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件;处理过程。
15 在Java语言中,异常机制是:一旦出现异常,可以由运行的方法或虚拟机生成一个异常对象,它包含异常事件的类型以及发生异常时程序的状态等信息。
16 异常对象从产生到被传递提交给Java运行系统的过程称为抛出(throw)异常。
一个程序中单独的、并发的线程对同一个对象进行访问的代码段,称为临界区。在Java语言中,临界区可以是一个语句块或是一个方法,并且用"synchronized"关键字标识。