java语言程序设计二级考试模拟试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java语言程序设计二级考试模拟试卷一
(考试时间90分钟,满分100分)
一、选择题(1~20题每题2分,20~30题每题3分,计70分)
在下列各题的A、B、C、D、四个选项中,只有一个选项是确定的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
1、下列叙述中正确的是()。
A、线性表是线性结构
B、栈和队列是非线性结构
C、线性链表是非线性结构
D、二叉树是线性结构
2、下列关于队列的叙述中正确的是()。
A、在队列中只能插入数据
B、在队列中只能删除数据
C、队列是先进先出的线性表
D、队列是先进后出的线性表
3、设有下列二叉树:
对此二叉树前遍历的结果是()。
A、ABCDEF
B、DBEAFC
C、ABDECF
D、DEBFCA
4、设树T的度为4,其中度为1、2、3、4的结点个数分别是4,2,1,1。
则T中的叶子结点数是()。
A、8
B、7
C、6
D、5
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语言具有多种优点和特点,下列选项中,()反映了Java程序并行执行机制的特点。
A、多线程
B、面向对象
C、体系结构中立
D、安全性
12、下列Java程序书写格式的描述中,正确的是()。
A、以//符号开始的为多行注释语句
B、Java语言是不分大小写的源文件名与程序类名不允许相同
C、一个注释不可以分写在多行上
D、一行中可以包含正常的Java语句,也可以包含注释
13、下列关于继承的叙述中,正确的是()。
A、一个类只能有一个直接父类
B、子类中,继承于父类的变量不可以修改
C、子类可以继承父类的所有变量和方法
D、子类只能继承父类的public、protected和private方法和状态
14、下列符号中,()是常量。
A、b
B、int
C、4-y
D、true
15、要计算当1<x<9时,z=x ,应使用的语句是()。
A、if(a<x ^ x<9) z=x ;
B、if(1<x|x<9)z=x;
C、if(1<x && x<9)z=x;
D、if(1<x<9)z=x;
16、关于线程的描述中,正确的是()。
A、创建线程对象需要使用new命令
B、线程一旦被创建,系统就为该线程对象分配资源
C、线程的抢先式调度有共享方式和分时方式
D、线程对象在创建的同时被启动,而不需要调用任何方法
17、关于对象序列化(串行化)的描述中,正确的是()。
A、序列化只能保存对象的非静态成员变量和成员方法
B、序列化为用户提供了一个简单且可扩展的存储机制
C、序列化使得用户可以预定义对象的内部存储格式
D、序列化是一个递归过程
18、JPanel容器的默认布局管方式是()。
A、没有
B、BorderLayout
C、FlowLayout
D、GridLayout
19、在一次典型的事件处理过程中,不涉及到()对象。
A、事件
B、事件源
C、事件接口
D、事件监听者
20、关于Java“沙箱”机制,下面说法中()是不禁止的。
A、Applet读写文件
B、Applet在运行时调用其它程序
C、Applet调用一个本地方法
D、Applet和自己的主机通信
21、阅读下列代码,当程序执行到第13(带下划线)行时,将调用()的方法。
class Persom
{
public void privateValue(in a,int b){}
public void privateprivateValue(int a){}
}
public class Student extends Person
{
public void privateValue(int a,int b){}
public void privateprivateValue(int a){}
public static void main(String args[])
{
Person p=new Student();
p.privateValue(30);
}
}
A、第8行
B、第9行
C、第3行
D、第4行
22、设有下面两个类的定义:
classic AA
{
void Show()
{ System.out.println(“学习Java语言!”);}
}
class BB extends AA
{
void Show()
{ System.out.println(“学习C#语言!”);}
}
则顺序执行如下语句后输出结果是()。
AA aa;
BB bb;
aa.Show();
bb.Show();
A、学习Java语言!
B、学习C#语言!
学习Java语言! 学习Java语言!
C、学习Java语言!
D、学习C#语言!
学习C#语言! 学习C#语言!
23、下列代码的执行结果是()。
public class Mod
{
public static void main(String args[])
{
System.out.print(10%4+”,”);
System.out.println(10%4.0);
}
}
A、2.0 ,2.0
B、2 ,2.0
C、2.0 ,2
D、2 ,2
24、下列代码的执行结果是()。
public class Self
{
public static void main(String args[])
{
float f=8.0f;
int q=4;
System.out.println((t++)*(--q));
}
}
A、32
B、32.0
C、24
D、24.0
25、有下列代码片段:
if(x>0)
System.out.println(“first”);
else if(x>-4)
System.out.println(“sencond”);
else
System.out.println(“third”);
请问x处于()范围时将输出“second”。
A、x>0
B、x>-4
C、x<=-4
D、x<=0&&x>-4
26、若要将线程对象runner[3]的优先级设置为最低,在下面横线处应填入的代码是()。
class ThreadTest extends Thread
{
public static void main(String args[])
{
ThreadTest runner[]=new ThreadTest[4];
for(int i=0;i<4;i++)
runner[i]=new ThreadTest();
for(int i=0;i<4;i++)
runner[i].start();
runner[2].setPriority(MAX_PRORITY);
}
public void run()
{
for(int i=0;i<100000;i++);
System.out.println(getName()+”线程的优先级是”+
getPriority()+”计算完毕”);
}
}
A、runner[3].getPriority(MIN_PRIORITY);
B、runner[3].setPriority(NORM_PRIORITY)
C、runner[3].setPriority(MIN_PRIORITY)
D、以上都不对
27、下面程序的运行结果是()
class Example
{
public static void main(String args[])
{
MyThread t=new MyThead();
t.displayOutput(“t has been created.”);
t.start();
}
}
class MyThread extends Thread
{
public void displayOutput(String s)
{ System.out.println(s); }
public void run()
{ displayOutput(“t is running.”); }
}
A、t has been created.
B、t is running.
t is running. t has been created.
C、t has been created.
D、以上都不对
t has been created.
28、从对象流中读取对象,下面横线处应填入的代码是()。
import java.util.*;
import java.io.*;
public class UnSerializeDate
{
Date d=null;
UnSerializeDate()
{
try
{
FileInputStream f1=new FileInputStream(“date.ser”);
d=(Date)s.readObject();
f1.close();
}
catch(Exception e)
{ e.printStackTrace(); }
}
public static void main(String args[])
{
UnSerializeDate a=new UnSerializeDate();
System.out.println(“The date read is :”+
a.d.toString(););
}
A、ObjectOutputStream s=new ObjectInputStream()
B、ObjectInputStream s=new ObjectInputStream()
C、ObjectInputStream s=new ObjectOutputStream()
D、以上都不对
29、在Applet程序中的init()方法中有下列代码,运行后用户界面将出现()情况。
public void init()
{
setLayout(new BorderLayout);
add(“South”,new TextField(8));
add(“Center”,new Button(“welcome”));
}
A、文本框将出现在Applet的底部,且有8个字符的宽度
B、按钮将出现在Applet的中央,且尺寸为正好能够包容“welcome”的大小
C、文本框将出现在Applet的底部,从最左边一直延伸到最右边;按钮将会出现在Applet的中央,覆盖除文本框外的所有空间
D、按钮与文本框的布局依赖于Applet的大小
30、如有如下的Applet代码,程序输出为()。
import java.applet.*;
import java.awt.*;
piblic class MyApplet extends Applet
{
AA s;
public void init()
{ s=new AA(“Hello!”,”Welcome to Java World.”);}
public void paint(Graphics g)
{ g.drawString(s.toString(),30,50);}
}
class AA
{
String s1,s2;
AA(String str1,String ste2)
{
s1=str1;
s2=str2;
}
public String toString()
{ return s1+s2; }
}
A、Welcome to Java World.
B、Hello!
C、Hello!Welcome to Java World.
D、Welcome to Java World. Hello!
二、填空题(每个空2分,计30分)
请将每空的正确答案写在答题卡的横线处,答在试卷上不得分。
1、通常把算法执行过程中所需要的存储空间称为算法的【1】。
2、在深度为5的满二叉树中,叶子结点的个数为【2】。
3、在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送【3
】。
4、在软件生命期中,能够准确地确定软件系统必须做什么和必须具备哪些功能的阶段称为【4】。
5、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的是【5】阶段。
6、Java是一种跨平台、适合于分布式计算环境的面向对象编程语言。
具体来说,它具有如简单性、【6】、分布性、解释性、安全性、【7】、可移植性、高性能、多线程、动态性等特性。
7、每个Java应用程序可以包含许多方法,但必须有且只能一个【8】方法。
8、Java语言中,调用方法时,参数传递是值传递,而不是【9】调用。
9、在下面代码中,将会出现编译错误的行是【10】。
class SubClass extends BaseClass
{
}
class BaseClass
{
String str;
public BaseClass()
{
System.out.println(“Ok”);
}
public BaseClass(String s)
{
Str=s;
}
}
public classic Example
{
public void methods()
{
SubClass s=new SubClass(‘Hello”);
BaseClass b=new BaseClass(“world”);
}
}
10、在线程的生命期中,分别有创建状态、【11】、【12】、不可运行状态和死亡状态。
11、若要在D盘根目录下生成一个名为mydir的文件夹,下列程序中横线处应填入的代码是【13】。
import java.io.*;
public class FileTest
{
File fileObject1=new File(“File1.txt”);
File fileObject2=new File(“d:\\mydir”,”File2.txt”);
System.out.println(fileObject2);
try
{
dirObject.mkdir();
}
catch(SecurityException e){}
try
{
fileObject1.createNmeFile();
fileObject2.createNmeFile();
}
catch(IOException e){}
}
}
12、为了响应按钮按下时触发的事件,必须实现【14】接口。
13、【15】是面向大企业级用容器管理专用构建的应用平台。
参考答案
一、选择题
1、A
2、C
3、C
4、A
5、B
6、A
7、B
8、B
9、D 10、C
11、A 12、D 13、A 14、D 15、C
16、A 17、B 18、C 19、C 20、D
21、B 22、C 23、B 24、D 25、D
26、C 27、A 28、B 29、C 30、C
二、填空题
1、【1】空间复杂度
2、【2】31
3、【3】消息
4、【4】需求分析
5、【5】数据库系统
6、【6】面向对象7【7】平台无关性【8】main
8、【9】地址9、【10】20 10、【11】可运行状态12】运行状态
11、【13】File dirObject=new File(“d;\\mydir”);
12、【14】ActionListener 13、【15】J2EE。