国家二级(JAVA)笔试模拟试卷202(题后含答案及解析)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

国家二级(JA V A)笔试模拟试卷202(题后含答案及解析)
题型有:1. 选择题 2. 填空题
选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

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

A.32
B.31
C.64
D.63
正确答案:C
解析:满二叉树是指除最后一层外,每层上的所有结点都有两个子结点。

即在满二叉树中,每一层上的结点数都达到最大值,则在满二叉树的第K层上有2K-1个结点,且深度为m的满二叉树有2m-1个结点。

深度为7的满二叉树,其叶子结点数为27-1=26=64。

2.下列工具中属于需求分析常用工具的是()。

A.PAD
B.PFD
C.N-S
D.DFD
正确答案:D
解析:PAD是问题分析图,常用于详细设计;PFD是程序流程图,常用于详细设计,很多如C、VB等程序设计书上都有简单的实例;N-S是方框图,比程序流程图更灵活,也常用于详细设计;DFD是数据流图,用于需求分析。

3.在Java语言中,不允许使用指针体现出的Java特性是
A.可移植
B.解释执行
C.健壮性
D.安全性
正确答案:D
解析:面向网络、分布式环境的Java语言,对非法侵入的防范是至关重要的,Java语言必须提供充分的安全保障,它在运行程序时有严格的访问权限检查。

对字节码执行前要检查,不允许使用指针,可防止对内存的非法入侵,它是目前安全性最佳的语言。

4.在编译Java程序时,用于指定生成class文件位置的选项是
A.#NAME?
B.#NAME?
C.#NAME?
D.#NAME?
正确答案:B
解析:Java编译器javac.exe能将源代码编译成字节码,以.class扩展名存入Java的工作目录中,其命令格式为:javac[选项]文件名(全名)。

其中[选项]-g:输出文件中加行号及局部变量信息,为调试程序时用;-verbose:显示源代码文件和字节码文件的相关信息;-nowarn:关闭警告信息,只显示错误信息;-d<目录>:指定生成的类文件的存放位置。

5.在关闭浏览器时调用,能够彻底终止Applet并释放该Applet所有资源的方法是
A.stop( )
B.destroy( )
C.paint( )
D.start( )
正确答案:B
解析:init( )方法是在Applet被下载时调用,一般用来完成所有必需的初始化操作;start( )方法是在Applet初始化之后以及Applet被重新访问时调用,使Applet成为激活状态;当Applet被覆盖时或退出时,调用stop( )方法可以停止线程。

start( )与stop( )是一对相对应的方法,一般常在start( )中启动一些动作,而在stop( )中暂停这些动作;destroy( )方法是在关闭浏览器,Applet从系统中撤出时调用,彻底终止Applet,从内存卸载并释放该Applet的所有资源。

6.从用户角度看,下面列出的条目中( )是数据库管理系统应具有的目标。

Ⅰ.用户界面友好Ⅱ.内部结构清晰、层次分明Ⅲ.开放性,即符合标准和规范Ⅳ.负责管理企业组织的数据库资源
A.Ⅰ、Ⅱ
B.Ⅰ、Ⅱ、Ⅲ
C.Ⅲ、Ⅳ
D.都是
正确答案:B
7.数据的存储结构是指( )。

A.存储在外存中的数据
B.数据所占的存储空间量
C.数据在计算机中的顺序存储方式
D.数据的逻辑结构在计算机中的表示
正确答案:D
解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,也称数据的物理结构。

所以选项D正确。

8.软件测试方法中属于静态测试方法的是( )。

A.黑盒测试
B.逻辑覆盖
C.错误推测
D.)人工检测
正确答案:D
解析:软件测试若是从是否需要执行被测试软件的角度划分,可以分为静态测试和动态.测试。

若按照功能划分,可以分为黑盒测试和白盒测试。

静态测试可以是人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。

逻辑覆盖属于白盒测试的主要方法。

错误推测属于黑盒测试的主要诊断方法之一。

9.软件的______ 是指软件在所给的环境条件下和给定的时间内,能完成所要求功能的性质。

( )
A.健壮性
B.正确性
C.可靠性
D.可维护性
正确答案:C
10.Java中所有类的父类是( )。

A.Father
B.Dang
C.Exception
D.Object
正确答案:D
解析:ObJeot是所有类的根。

11.下列选项中,不属于生成一个对象所包含的内容的是______。

A.声明对象
B.初始化
C.访问对象
D.实例化
正确答案:C 涉及知识点:Java语言中面向对象的特性
12.ZipOu中utStream类的对象可以作为______类的构造方法的参数。

A.ZiplnputStream
B.InputStreamReader
C.OutputStreamReader
D.FileOu~utStream
正确答案:C 涉及知识点:Java编程技术基础
13.当方法遇到异常又不知如何处理时,下列做法中正确的是()。

A.嵌套异常
B.声明异常
C.抛出异常
D.捕获异常
正确答案:B
解析:在Java语言中,有时一个方法生成一个异常,但该方法并不能确定如何处理此异常,如找不到文件之类的异常,必须将异常传递给调用方法,由调用方法来处理,此时方法用声明异常抛出,让异常对象沿调用栈向后传递,直至有相应的方法捕获它为止。

14.编译Applet程序产生的文件的扩展名是()。

A.class
B.html
C.java
D.bat
正确答案:A
解析:html是网页格式的文件,.java是Java源程序文件,.bat文件是在Windows系统中的一种文件格式,称为批处理文件,B、C、D项都不符合要求。

Java编译器负责将.java文件编译为.class文件,.class文件存储的是Java字节码,与.java文件无关。

15.下列选项中是双精度浮点数的是( )。

A.12
B.0.12D
C.0.12f
D.12L
正确答案:B
解析:选项A代表一个整数;选项C代表一个单精度浮点数;选项D代表一个长整型数。

选项B为正确答案,代表一个双精度浮点数。

16.获取一个不包含路径的文件名的方法为()。

A.String getAbsolutePath( );
B.String getParent( );
C.String getName( );
D.String getPath( );
正确答案:C
解析:创建了一个文件对象后,可以使用以下成员函数来获得文件相关信息。

其中对文件名提供的方法有:String getname( );获取一个不包含路径的文件名,String getPath( );获取文件路径名字符串,String getAbsolutePath( ),获取文件绝对路径,String getParent( );获取文件上一级的路径名。

17.下面程序段的输出结果为public class Test { public static void main(String args[]) { boolean a,b,c;a=(3<5);b=(a==true);System.out.println(“a=“+a+”b=“+B);c=(b==false);System.out.println(“b=“+b+”c=“+C);} } A.a=true b=false b=true c=false
B.a=true b=false b=true c=true
C.a=true b=true b=true c=false
D.a=false b=false b=true c=false
正确答案:C
解析:本题考查关系运算符<和==。

题目中a=(3<5);比较3和5的大小,因为3<5,返回true给a;b=(a==true);判断a是否为真,因为a确实为真,返回true给b;c=(b==false);判断b是否为假,因为b不为假,返回false给c。

最后结果a=true,b=true,b=true,c=false,选项C正确。

18.执行下列程序之后,变量n的值为public class Exam{ public static void main(String[]args){ int y=2;int z=3;int n=4;n=n+-y*z/n;System.out.println(n);} }
A.3
B.-1
C.-12
D.-3
正确答案:A
解析:程序段main( )方法中的前3行是基本的赋值语句,第4行是算术运算语句,该语句执行的过程是:首先是对y取负值,得到(2,然后乘以z得到(6,再除以n得到(1,最后和n做加法得到3,从而根据赋值运算将3赋值给变量n。

19.WindowListener中可以实现窗口关闭功能的方法是
A.public void windowOpened(WindowEvent e)
B.public void windowClosed(WindowEvent e)
C.public void windowClosing(WindowEvent e)
D.public void windowDeactivated(WindowEvent e)
正确答案:B
解析:本题考查事件监听器的概念。

窗口事件接口WindowListener有几个关键方法,应该注意,如public void windowClosing(WindowEvent e)是把退出窗口的语句写在本方法中;public void windowOpened(WindowEvent e)是窗口打开时调用;public void windowClosed(WindowEvent e)是窗口关闭时调用,选项B 正确;public void windowIconified (WindowEvent e)是窗口图标化时调用:public void windowDeiconified(WindowEvent e)是窗口非图标化时调用;public void windowActivated(WindowEvent e)是窗口激活时调用;public void windowDeactivated (WindowEvent e)是窗口非激活时调用。

20.下列各项中属于合法标识符的是( )。

A.myid/2
B.+void
C.-5
D._vacl
正确答案:D
解析:Java语言的标识符是以字母、下划线和符号$为首字符的字符串,首字符后面可以跟字母、下划线、S和数字,且标识符是区分大小写的,标识符的字符数没有限制。

A选项中含有非法符号“/”,、故是错误的:B选项是以符号“+”开始的字符串也不符合规则;同理,C选项也是错误的。

21.Java中对Applet设置了严格的安全限制。

下列关于Applet在Java 2中安全限制叙述正确的是( )。

A.根本无法解除
B.只有部分限制可以解除,而其他限制无法解除
C.可以在安全策略的控制下解除
D.已经缺省地全部解除
正确答案:C
解析:Java平台为了防范恶意程序的攻击,使用了安全管理器。

安全管理器执行系统资源的访问控制。

Applet也是在安全管理器的严密监视下运行,默认情况下Applet不允许访问系统的资源,但可以通过安全策略授予Applet相应的访问权限。

22.下面程序的运行结果是( )。

public class Increment { public static void main(String args[ ] ){ int c; c=5; System.out.println(c) ; System.out.println(c++); System .out.println(c) ; } }
A.5 6 6
B.5 5 6
C.6 7 7
D.6 6 6
正确答案:B
解析:本题考查自增运算符++的使用,第一个输出语句输出c的值为5,System. out. println (c++)输出表达式c++的值,由于++在变量c之后,所以表达式c++的值为5,待输出之后,变量c的值为6。

最后一个输出语句输出的c的值则为6。

23.调用线程的下列方法中,( )可以改变该线程在生命周期中的状态。

A.setPriority ( )
B.currentThread ( )
C.start ( )
D.aetiveCount ( )
正确答案:C
解析:setPriority( )方法的功能是设置线程的优先级;currentThread( )方法的功能是返回当前线程的引用;activeCount( )方法的功能是获取当前线程所属线程组中活动线程数。

start( )方法的功能是启动线程,使线程进入可运行状态。

24.要在一个单一的类文件中创建既可用作JavaApplet,又可用作Java应用程序的Java软件代码。

下列说法错误的是( )。

A.作为Application 要定义main( )方法,并且把main( )方法所在的类定义为—个public类
B.为使该程序成为一个Applet,main( )方法所在的这个public 类必须继承Applet 类或LApplet 类
C.在该类中可以像普通Applet 类一样重写Applet 类的init( )、start( )、paint( )等方法
D.转换后的程序只能在浏览器中加载执行,而不能在Appletviewer 中执行
正确答案:D
25.十进制数16的十六进制表示格式是( )。

A.0x10
B.0x16
C.0xA
D.16
正确答案:A
解析:本题考查Java语言中的进制换算。

首先要清楚各种进制的表示方法。

整型常量有3种书写格式:十进制整数,如156,-230,345:八进制整数:以0开头,如012表示十进制的10;十六进制整数:以0x或0X开头,如0X123表示十进制数291。

而十进制数16相当于十六进制的10,所以选项A正确。

26.下列关于JavaApplication与Applet的说法中,正确的是( )。

A.都包含main( )方法
B.都通过“appletviewer”命令执行
C.都通过”javac”命令编译
D.都嵌入在HTML文件中执行
正确答案:C
解析:本题考查Java Application与Applet的区别。

Applet与Application的主要区别在执行方式上,Application以main( )方法为入口点运行,Applet要在浏览器或appletviewer中运行,运行过程比Application更复杂。

两者都是通过“javac”命令编译,所以只有选项C说法正确。

27.在编写Java程序的时候,如果不为类的成员变量定义初始值,Java会给它们设置默认值,下列说法中不正确的是( )。

A.Byte的默认值是0
B.int的默认值是0
C.long的默认值是0.0L
D.float的默认值是0.0f
正确答案:C
解析:long类型的默认值为0L,而不是0.0L。

28.下列说法中,正确的是( )。

A.Java是不区分大小写的,源文件名与程序类名不允许相同
B.Java语言以方法为程序的基本单位
C.Applet是Java的一类特殊应用程序,它嵌入HTML中随着主页发布到互联网上
D.以//开始的为多行注释语句
正确答案:C
解析:Java语言是区分大小写的,且其源文件名必须与程序类名相同,其扩展名为java,源文件中最多只能有一个public类,其他类的个数不限,所以选项A是错误的;B选项是错误的,Java语言是以类为程序的基本单元;D选项是错误的以“//”开始的为单行注释语句,多行注释语句的符号为“/**/”。

选项C 是正确的。

29.下列各项描述中正确的是( )。

A.标识符首字符的后面可以跟数字
B.标识符不区分大小写
C.复合数据类型变量包括布尔型、字符型和浮点型
D.数组属于基本数据类型
正确答案:A
解析:Java语言的标识符是以字母、下划线(_)、和符号$为首字符的字符串,在首字符后面可以跟字母、下划线、$和数字,且标识符是区分大小写的,标识符的字符数没有限制,所以A选项是正确的,B选项是错误的;选项C错误,
复合数据类型应该包括数组、类和接口:数组属于复合数据类型,故D选项是错误的。

30.下面程序的输出结果是( )。

public class Sun { public static void main(String args[ ]) { int x=0; for(int i=1;i<=4;i++) { x=4; for(int j=1;j<=3;j++) { x=3; for(int k=1;k<=2;k++) { x-x+6; } } } System.out.println(x); } }
A.7
B.15
C.157
D.538
正确答案:B
解析:本题考查对for循环嵌套的理解。

此题中应用3重for嵌套循环,要注意每次执行完变量k的最内层循环后,得到的x值为15,无论x赋值为3或4,执行到最内层循环都被新值覆盖。

因而,j分别等于1,2,3执行结束时,x的返回值是15;i分别等于1,2,3,4执行结束时,x返回值依然是15。

故本题答案是B。

31.下列程序实现对ZIP文件file.zip中的检索,在横线处填入正确的语句package test;import java.io.*;import java.util.*;import java.util.zip.*;public class Exam { public static void main(String[]args){ try{FilelnputStream fis=new FilelnputStream(”test/file.zip”);ZipInputStream zis=new ZipInputStrealn(fis);ZipEntry en;while((____)!=null){ en.getname( );zis.CloseEntry( );}zis.close( );}catch(Exception e){e.printStackTrace( ) } } }
A.en=zis.getNextEntry( )
B.en==zis.getNextEntry( )
C.en=zis.getEntry( )
D.zis.getNextEntry( )
正确答案:A
解析:本题考查Java类实现z中数据压缩方式。

zip压缩文件结构:一个zip 文件由多个entry组成,每个entry有一个惟一的名称,entry的数据项存储压缩数据。

ZipInputStream实现了zip压缩文件的读输入流,支持压缩和非压缩entry。

题目程序中FilelnputStream fis=new FilelnputStream(”test/file.zip”)构造了一个文件输入流,ZipInputStream zis=new ZipInputStream(fis)语句利用文件输入流fis 构造了一个ZIP输入流,zis.getNextEntry( )语句返回ZIP文件中的下一个entry,并将输出流定位在此entry数据项的起始位置。

32.下列关于Applet生命周期的说法,正确的是
A.void init( )在Applet下载前调用
B.void start( )只在初始化之后调用
C.void stop( )在关闭浏览器时调用
D.stop( )总在void destroy( )之前被调用
正确答案:D
解析:本题考查Applet生命周期的概念。

Applet生命周期是考试重点考查内容,应该加以重视。

voidini t( )在Applet下载时调用,而不是下载前调用,选项A错误。

void start( )在初始化之后以及在Applet被重新访问时调用,不仅仅只是在初始化之后调用,选项B错误。

voidstop( )在停止执行时调用,关闭浏览器时调用的是voiddestroy( ),选项C错误。

void destroy( )在关闭浏览器Applet从系统中撤出时调用,此时Applet必然调用stop( )方法停止其运行,然后才能调用voiddestroy( )方法从内存卸载并释放该Applet的所有资源。

注意理解Applet的执行过程。

33.下面程序段的输出结果是public class Test{ public static void main(String args[]){ int x,y;x=(int)Math.sqrt(5)/2+(int)Math.random( )*5/2;y=(int)Math.sqrt(3)/2+(int)Math.random( )*3/2;if(x>y) System.out.println(“x>y”); else if(x==y) System.out.println(“x=y”); else System.out.println(“x<y”); } }
A.x>y
B.x=y
C.x<y
D.编译错误
正确答案:A
解析:本题考查Java语言中if-else分支结构和几个标准函数语句的用法。

Java语言的控制结构是考试重点,考生应该多读相关程序。

这里重点理解程序中的两个赋值语句,赋值号右边的两个表达式分别求两个标准函数的值,再进行整除,判断出。

与y的大小。

Math.sqrt计算一个数的平方根,Math.random( )输出[0,1]之间的随机数,本题中经过两条赋值语句后x=1,y=0。

进入分支结柯后,满足if条件执行相应System.out.println(“x>y”);操作。

34.以下标识符正确的是( )。

A.byte
B.a+b
C.$million
D.new
正确答案:C
35.每个Java小应用程序必须定义为
A.Applet类或JApplet类的子类
B.JFrame类的子类
C.Frame的子类
D.Window的子类
正确答案:A
解析:本题考查Applet的基本知识。

Applet类定义了小应用程序(Applet)与其运行环境之间的一个接口;JApplet是Applet类的扩展,它继承了Applet的方法和执行机制,同时也增加了对Swing构件的支持。

每个Java小应用程序都必须是Applet类或JApplet类的子类。

因此,本题的正确答案是A。

填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡上。

注意:以命令关键字填空的必须拼写完整。

36.数据库系统的三级模式分别为【】模式、内部级模式与外部级模式。

正确答案:概念或概念级
解析:数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式和外部级模式。

概念模式是数据库系统中全局数据逻辑结构的描述;内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法;外模式也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。

37.诊断和改正程序中错误的工作通常称为【】。

正确答案:程序调试
解析:程序调试的任务是诊断和改正程序中的错误。

它与软件测试不同,软件测试是尽可能多地发现软件中的错误。

先要发现软件的错误,然后借助于调试工具找出软件错误的具体位置。

软件测试贯穿整个软件生命期,而调试主要在开发阶段。

38.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【】。

正确答案:软件生命周期
39.冒泡排序算法在最好的情况下的元素交换次数为【】。

正确答案:0
解析:根据冒泡排序算法思想可知,若待排序的初始序列为“正序”序列,则只需进行一趟排序,在排序过程中进行n-1次关键字间的比较,且不移动和交换记录,这种情况是冒泡排序的最好情况,故冒泡排序算法在最好的情况下的元素交换次数为0。

40.用树结构表示实体类型及实体间联系的数据模型称为【】。

正确答案:【】层次模型
解析:用树结构表示实体类型及实体间联系的数据模型称为层次模型,用有向图结构表示实体类型及实体间联系的数据模型称为网状模型,用二维表格结构表示实体及其联系的数据模型称为关系模型。

41.if语句合法的条件值是【】类型。

正确答案:布尔
解析:条件语句的条件应该是条件表达式或者布尔逻辑表达式,因此条件的值只能是布尔类型的值。

42.在AWT的菜单结构中,【】类是菜单树的根基。

正确答案:MenuBar
解析:在Java中,无法直接将菜单添加到容器的某一位置,也无法使用布局管理器对其加以控制。

菜单只能被添加到“菜单容器”中。

实现时,先给“菜单容器”设置菜单栏Menubar,再在菜单栏中添加下拉菜单Menu,然后往下拉菜单中添加菜单项Menultem。

43.在Java语言中,标识符以【】或下划线、$开头,后面可以包含数字,标识符是大小写有区别的,无长度限制。

正确答案:字母
解析:Java语言中,所有的变量、常量、对象和类都是用标识符命各的,标识符的命名规则为:标识符是以字母、下划线、美元符$作为首字符的字符串序列,在首字符后面可以跟字母、下划线、美元符$和数字.
44.Java线程组把一组线程看做一个【】进行统一处理。

正确答案:对象
解析:在Java程序中,每一个线程都属于一个线程组,可以使用统一的方法调用、启动或者挂起线程组内的所有线程。

45.使得线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是______。

正确答案:yield( )
解析:本题考查线程阻塞的概念。

yield( )方法使得线程放弃当前分得的CPU时间,但是不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间。

调用yield( )的效果等价于,调度程序认为该线程已执行了足够的时间从而转到另一个线程。

46.Java运行时,系统通过______周期性地释放无用对象所使用的内存空伺,以完成对象的消除。

正确答案:垃圾收集
解析:Java语言中内存的分配和释放工作由自己完成,程序员不必做这些工作,它提供一个系统级线程,跟踪内存空间的分配,在JVM的空闲处理中,垃圾收集线程将检查和释放不再使用的内存空间。

47.变量名、【】首单词小写,其余单词只有首字母大写。

正确答案:方法名
解析:Java语言对于其名称的命名有约定的基本原则:”“和$不作为变量名和方法名的开头:变量名、方法名首单词小写,其余单词只有首字母大写;接口名、类名首单词第1个字母大写;常量完全大写。

48.若x=5,y=10,则x>y&&x++==y--的逻辑值为______。

正确答案:false
49.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和________两种具体类型。

正确答案:double
50.Swing的事件处理机制包括【】、事件和事件监听者。

正确答案:事件源
解析:本题考查Swing的事件处理机制。

Swing的事件处理机制继续沿用了AWT的事件处,理机制,基本的事件处理需要使用,java.awt.event包中的类,但java.swing.event包中也增加了一些新的事件及其监听接口。

事件处理机制中仍旧包含3个角色:事件源、事件和事件处理者(事件监听程序)。

事件源就是Swing的各种构件,与之对应的就是事件监听器接口。

相关文档
最新文档