1、二级 JAVA 笔试-186 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于变量作用域的描述中,不正确的是( )。(分数:2.00)A.变量属性是用来描述变量作用域的B.局部变量作用域只能是它所在方法的代码段C.类变量能在类的方法中声明D.类变量的作用域是整个类2.给出下面程序段if(x0)System.out.println(“Hello“);elseif(x-3)System.out.println(“Nice to meet you!“);elseSystem.out.println(“How are you?“);若打印字
2、串“How are you?“,则 x 的取值范围是( )。(分数:2.00)A.x0B.x-3C.x=-3D.x=0public Person (String15.下列关于异常处理机制原则的说法中,错误的是( )。(分数:2.00)A.能用简单测试就不要用异常控制,对异常不要过分增加可读性B.把应用程序的异常事件分类,利用异常的层次来动态控制C.把异常处理的代码与正常代码分开,简化程序并增加可读性D.利用 catch 语句作为异常处理的统一出口16.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表17.所有 Sw
3、ing 构件都实现了( )接口。(分数:2.00)A.AccessibleB.MouseListenerC.ActionListenerD.Serializable18.下列关于 Thread 类中方法的叙述正确的是( )。(分数:2.00)A.方法 activeCount()的功能是获取当前活动的线程数B.方法 enumerate()的功能是拷贝当前活动线程信息C.方法 getName()获取线程的名称,而方法 getThreadGroup()可以获取当前线程所属线程组的名称D.方法 toString()的功能是转化输入的数据类型,以字符串形式输出19.下列不属于 Applet 运行过程的是
4、( )。(分数:2.00)A.浏览器加载指定 URL 中的 HTML 文件B.编译 Applet 程序C.浏览器解析 HTML 文件D.浏览器中的 Java 运行环境运行 Applet20.Thread 类中启动线程体的方法是( )。(分数:2.00)A.start()B.resume()C.init()D.run()21.关于 Applet,下面选项中错误的是( )。(分数:2.00)A.Applet 就是一个 ApplicationB.Applet 可以在浏览器中执行C.Application 可以直接用 Java 解释器执行D.Applet 也可以是一个 Application22.数据
5、库设计的根本目标是要解决( )。(分数:2.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护23.对象状态的持久是通过( )实现的。(分数:2.00)A.管道B.过滤器C.文件D.串行化24.下列关于栈的描述正确的是( )。(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素25.下列描述中正确的是( )。(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强
6、调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题26.Java 程序编译后的形式叫做( )。(分数:2.00)A.机器码B.浓咖啡C.字节码D.BCD 码27.所有字节输出流都( )。(分数:2.00)A.实现 Serializable 接口B.实现 Objectoutput 接口C.继承于 Reader 抽象类D.继承于 OutputStream 类28.下面叙述正确的是( )。(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试29.下列关于基本数据类型的说法中,不正确
7、的是( )。(分数:2.00)A.boolean 是 Java 特殊的内置值,或者为真或者为假。B.float 是带符号的 32 位浮点数C.double 是带符号的 64 位浮点数D.char 是 8 位的 Unieode 字符30.下列叙述中正确的是( )。(分数:2.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令31.下面所列类型中,不是复合数据类型的是( )。(分数:2.00)A.类B.数组C.整型D.接口32.下面专门定义常量变量的保留字是( )。(分数:2.00)A.interfa
8、ceB.intC.varD.final33.在文件类提供的方法中,用于创建目录的方法是( )。(分数:2.00)A.mkdir()B.mkdirs()C.list()D.listRoots()34.下面程序代码运行结果为( )。import java.awt.*;public class Test public static void main (String args) String s1=“a+b+c“;String s2=“+“;int i=s1.lastIndexOf (s2);System.out.println(i);(分数:2.00)A.0B.1C.2D.335.现有一个整型数组
9、 a4,它的所有数组元素为( )。(分数:2.00)A.a0、a1、a2、a3B.a0、a1、a2、a3C.a1、a2、a3、a4D.a0、a1、a2、a3、a4二、填空题(总题数:15,分数:30.00)36.在面向对象方法中, 【1】 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_37.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 【2】 。(分数:2.00)填空项 1:_38.在关系模型中,把数据看成是二维表,每一个二维表称为一个 【3】 。(分数:2.00)填空项 1:_39.程序测
10、试分为静态分析和动态测试。其中 【4】 是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(分数:2.00)填空项 1:_40.对长度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为 【5】 。(分数:2.00)填空项 1:_41.多线程是 Java 语言中的 【6】 机制,它能够处理同步共享数据和各种不同的事件。(分数:2.00)填空项 1:_42.循环语句一般应包含初始化部分、 【7】 、迭代部分和判断部分。(分数:2.00)填空项 1:_43.下面程序创建了一个线程并运行,请填空,使程序完整。public class ThreadTest pub
11、lic static void main (String args) Hello h=Hew Hello ();【8】 t.start ();class Hello implements Runnable int i;public void run () while(true) System.out.println(“Hello“ +i+);if(i=5) break;(分数:2.00)填空项 1:_44.在捕获异常时要用 【9】 子句。(分数:2.00)填空项 1:_45.从显示器流向内存的数据流,属于输入流;从内存流向显示器的数据流,属于 【10】 。(分数:2.00)填空项 1:_46.
12、 【11】 包含在 java.utilregex 包中,它可以应用在字符输入流的模式字符串搜索中。(分数:2.00)填空项 1:_47.RandomAccessFile 继承了 Objects 类,实现 DataInput 和 【12】 接口。(分数:2.00)填空项 1:_48.Java 中线程模型由虚拟的 CPU、代码与数据构成,该模型是由 java.lang. 【13】 类进行定义和描述的。(分数:2.00)填空项 1:_49.AWT 中的布局管理器包括 BorderLayout、 【14】 、CardLayout、GridBagLayout 和 GridLayout。(分数:2.00)
13、填空项 1:_50. 【15】 是 Java 与 Web 相结合的一种应用形式。(分数:2.00)填空项 1:_二级 JAVA 笔试-186 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于变量作用域的描述中,不正确的是( )。(分数:2.00)A.变量属性是用来描述变量作用域的B.局部变量作用域只能是它所在方法的代码段C.类变量能在类的方法中声明 D.类变量的作用域是整个类解析:解析 类变量在类中声明,作用域是整个类,它不能在类的方法中声明。局部变量在类的方法中声明,作用域只能是它所在的方法。2.给出下面程序段if(x0)Syste
14、m.out.println(“Hello“);elseif(x-3)System.out.println(“Nice to meet you!“);elseSystem.out.println(“How are you?“);若打印字串“How are you?“,则 x 的取值范围是( )。(分数:2.00)A.x0B.x-3C.x=-3 D.x=0public Person (String解析:解析 本题主要考查在同一个类的不同构造方法中调用该类的其他构造方法需要使用 this()的形式,而且必须是在构造方法的第一行调用。这个和普通方法重载调用的方式不同,普通方法可以直接使用方法名加参数来
15、调用,而且调用位置没有限制,因此选项 A 是不行的,选项 B 的语法就是错误的,选项D 的错误在于在父类型的构造方法被调用前不能引用类的成员。构造方法是一个类对象实例化的开始,因此在构造方法中不能将成员作为参数引用。15.下列关于异常处理机制原则的说法中,错误的是( )。(分数:2.00)A.能用简单测试就不要用异常控制,对异常不要过分增加可读性B.把应用程序的异常事件分类,利用异常的层次来动态控制C.把异常处理的代码与正常代码分开,简化程序并增加可读性D.利用 catch 语句作为异常处理的统一出口 解析:解析 异常处理的原则如下:把应用程序的异常事件分类,利用异常层次来动态控制。把子异常处
16、理的代码与正常代码分开,简化程序并增加可读性。利用 finally 语句作为异常处理的统一出口。能用简单测试就不要用异常控制,对异常不能过分细化,也不要压制,不要介意对异常的传递。自定义的异常类都是 Throwable 及其子集,除了产生或不易预测的异常外,都定义为非运行时的异常。16.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表 B.线性链表C.二叉链表D.有序线性链表解析:解析 二分法查找只适用于顺序存储的有序表。17.所有 Swing 构件都实现了( )接口。(分数:2.00)A.Accessible B.MouseListenerC.Acti
17、onListenerD.Serializable解析:解析 所有 Swing 构件都实现了 Accessible 接口,提供对可存取性的支持,使得辅助功能 (如屏幕阅读器)能够方便地从 Swing 构件中得到信息。18.下列关于 Thread 类中方法的叙述正确的是( )。(分数:2.00)A.方法 activeCount()的功能是获取当前活动的线程数B.方法 enumerate()的功能是拷贝当前活动线程信息C.方法 getName()获取线程的名称,而方法 getThreadGroup()可以获取当前线程所属线程组的名称 D.方法 toString()的功能是转化输入的数据类型,以字符串
18、形式输出解析:解析 方法 activeCount()的功能是获取当前线程所属线程组中的活动线程数;方法 enumerate()的功能是拷贝当前线程所属线程组中的活动线程信息;方法 getName()获取线程的名称,而方法getThreadGroup()可以获取当前线程所属线程组的名称;方法 toString()的功能是以字符串形式获取线程的名称、优先级和线程组等信息。19.下列不属于 Applet 运行过程的是( )。(分数:2.00)A.浏览器加载指定 URL 中的 HTML 文件B.编译 Applet 程序 C.浏览器解析 HTML 文件D.浏览器中的 Java 运行环境运行 Applet
19、解析:解析 Applet 的运行过程经历了以下 4 个步骤:浏览器加载指定 URL 中的 HTML 文件浏览器解析 HTML 文件;浏览器加载 HTML 文件中指定的 Applet 类;浏览器中的 Java 运行环境运行该Applet。20.Thread 类中启动线程体的方法是( )。(分数:2.00)A.start() B.resume()C.init()D.run()解析:解析 控制线程启停类的方法有:start (),线程体开始运行;stop (),强行中止线程运行; suspend (),挂起线程,挂起后的线程将不能自动恢复,只能在其他线程中调用 resume()方法恢复线程的状态;r
20、esume (),恢复线程执行。所以选择 A。选项 D,run ()方法定义了线程体和线程的具体行为。21.关于 Applet,下面选项中错误的是( )。(分数:2.00)A.Applet 就是一个 Application B.Applet 可以在浏览器中执行C.Application 可以直接用 Java 解释器执行D.Applet 也可以是一个 Application解析:解析 A 是错误的,因为 Applet 中如果含有 main()方法的话,它可以是一个 Java Application,若没有的话,它仅是一个 Java 小应用程序,需要在支持 Java 的浏览器中运行;B 选项是正确
21、的,因为 Applet 一般是要在 Web 浏览器中执行的;C 选项是正确的,Application 是一个独立的应用程序,可以在任何环境下使用 Java 的解释器(Java Virtual Machine)直接执行,且它是从其中的 main ()方法开始运行的;D 选项是正确的,解释见 A 选项的解释。22.数据库设计的根本目标是要解决( )。(分数:2.00)A.数据共享问题 B.数据安全问题C.大量数据存储问题D.简化数据维护解析:解析 数据的集成性使得数据可为多个应用所共享,尤其是数据库与网络的结合扩大了数据关系的应用范围。数据的共享又可极大地减少数据冗余性,不仅减少了不必要的存储空间
22、,并且可以避免数据的不一致性。因此,数据库设计的根本目标是要解决数据共享问题。23.对象状态的持久是通过( )实现的。(分数:2.00)A.管道B.过滤器C.文件D.串行化 解析:解析 将 Java 程序中的对象保存在外存中,称为对象永久化。对象永久化的关键是将它的状态以一种串形格式表示出来,以便以后读该对象时能够把它重构出来。因此对 Java 对象读、写的过程被称为对象串行化。24.下列关于栈的描述正确的是( )。(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素 D.栈是特殊的线性表,只能在一端插入元素,
23、而在另一端删除元素解析:解析 栈实际上也是线性表,只不过是一种特殊的线性表。在这种特殊的线性表中,其插入和删除只在线性表的一端进行。25.下列描述中正确的是( )。(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D.软件工程只是解决软件开发中的技术问题解析:解析 软件工程是计算机软件开发和维护的工程学科,它采用工程的概念、原理、技术和方法来开发和维护软件,它把经过时间考验而证明正确的管理技术和当前能够得到的最好技术结合起来。26.Java 程序编译后的形式叫做( )。(分数:2.00
24、)A.机器码B.浓咖啡C.字节码 D.BCD 码解析:解析 Java 编译器将源代码文件转变成字节码。Java 解释器将字节码转换成特定平台的机器码。27.所有字节输出流都( )。(分数:2.00)A.实现 Serializable 接口B.实现 Objectoutput 接口C.继承于 Reader 抽象类D.继承于 OutputStream 类 解析:解析 所有字节输出流都继承于 OutputStream 类,字节输出流首先也要实现 DataOutput 接口,字节数据流 DataOutputStream 是一个已经实现了该接口的类。28.下面叙述正确的是( )。(分数:2.00)A.程序
25、设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试 D.程序经调试改错后不必进行再测试解析:解析 程序调试的任务是诊断和改正程序中的错误,改正以后还需要再测试。29.下列关于基本数据类型的说法中,不正确的是( )。(分数:2.00)A.boolean 是 Java 特殊的内置值,或者为真或者为假。B.float 是带符号的 32 位浮点数C.double 是带符号的 64 位浮点数D.char 是 8 位的 Unieode 字符 解析:解析 char 应该是 16 位 Unicode 字符。30.下列叙述中正确的是( )。(分数:2.00)A.软件交付使用后
26、还需要进行维护 B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令解析:解析 软件的运行和维护是指将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。而软件生命周期是指软件产品从提出、实现、使用维护到停止使用的过程。31.下面所列类型中,不是复合数据类型的是( )。(分数:2.00)A.类B.数组C.整型 D.接口解析:解析 复合数据类型包括数组、类和接口。32.下面专门定义常量变量的保留字是( )。(分数:2.00)A.interfaceB.intC.varD.final 解析:解析 fi
27、nal 是专门定义常量变量的保留字,说明该变量赋值以后永不改变,变量初值是该变量的默认值。33.在文件类提供的方法中,用于创建目录的方法是( )。(分数:2.00)A.mkdir() B.mkdirs()C.list()D.listRoots()解析:解析 目录是 Java 中一种特殊的文件。提供的操作目录方法有:mkdir ()用来创建一个目录,mkdirs ()创建路径不存在的目录,list ()用来提取该目录内部其他文件和目录的列表,listRoots ()列出可用的文件系统根目录。34.下面程序代码运行结果为( )。import java.awt.*;public class Test
28、 public static void main (String args) String s1=“a+b+c“;String s2=“+“;int i=s1.lastIndexOf (s2);System.out.println(i);(分数:2.00)A.0B.1C.2D.3 解析:解析 lastIndexOf 方法返回一个整数值,指出 String 对象内子字符串的最后一次出现的开始位置下标。如果没有找到子字符串,则返回-1。本题中子串“+”在字符串“a+b+c”中出现了两次,最后一次出现的起始位置为 3。35.现有一个整型数组 a4,它的所有数组元素为( )。(分数:2.00)A.a0
29、、a1、a2、a3B.a0、a1、a2、a3 C.a1、a2、a3、a4D.a0、a1、a2、a3、a4解析:解析 创建一个数组的格式为:type arrayName ()=new typearraySize,arraySize 表示数组元素的个数。a4表示数组 a 有 4 个元素,又由于数组的各元素用下标表示,下标起始值为 0,最大下标为元素个数-1。因此,正确答案为 B。二、填空题(总题数:15,分数:30.00)36.在面向对象方法中, 【1】 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_ (正确答案:类)解析:解析 将属性、操作相似的对象归为类,也就是说,类是
30、具有共同属性、共同方法的对象的集合。37.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 【2】 。(分数:2.00)填空项 1:_ (正确答案:物理独立性或数据的物理独立性)解析:解析 物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的,逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。38.在关系模型中,把数据看成是二维表,每一个二维表称为一个 【3】 。(分数:2.00)填空项 1:_ (正确答案:关系)解析:解析 在数据库中,一个
31、“表”就是一个关系。一个关系的逻辑结构就是一张二维表。39.程序测试分为静态分析和动态测试。其中 【4】 是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(分数:2.00)填空项 1:_ (正确答案:静态分析或静态测试)解析:解析 静态测试指不在计算机上运行被测试程序,而采用其他手段来达到对程序进行检测的目的,包括人工测试和计算机辅助静态分析方法。动态测试指通过在计算机上运行被测试程序,并用所设计的测试用例对程序进行检测的方法。40.对长度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为 【5】 。(分数:2.00)填空项 1:_ (正确答案:45)
32、解析:解析 假设线性表的长度为 n,则在最坏情况下,冒泡排序需要经过 n/2 遍的从前往后扫描和 n/2遍的从后往前扫描,需要比较的次数为 n(n-1)/2。41.多线程是 Java 语言中的 【6】 机制,它能够处理同步共享数据和各种不同的事件。(分数:2.00)填空项 1:_ (正确答案:并发)解析:解析 Java 语言的开发运行环境是互联网,在这种分布式的环境中,并发和共享是很常见的事务,要能并行地处理很多事务,就要求 Java 语言提供一种可靠和高效的机制,来满足高并发事务处理的需求。多线程很好地解决了网络上的瓶颈问题和大数量的网络访问问题。42.循环语句一般应包含初始化部分、 【7】
33、 、迭代部分和判断部分。(分数:2.00)填空项 1:_ (正确答案:循环体部分)解析:解析 一个循环语句应该包括四部分内容:初始化部分,用于设置循环的初始化条件,如计数器清零;循环体部分,是反复执行的一段代码;迭代部分,就是在当前结束、下一次循环开始前执行的语句;终止部分,通常是一个布尔表达式,每一次循环都计算该表达式的值,以验证是否结束循环。43.下面程序创建了一个线程并运行,请填空,使程序完整。public class ThreadTest public static void main (String args) Hello h=Hew Hello ();【8】 t.start ();
34、class Hello implements Runnable int i;public void run () while(true) System.out.println(“Hello“ +i+);if(i=5) break;(分数:2.00)填空项 1:_ (正确答案:Threadt=new Thread(h);)解析:解析 在通过实现 Runnable 接口来创建线程以后,该线程的启动将使得对象的 run ()方法被调用。题目中缺少线程创建的语句,因此应该填写 Thread t=new Thread(h);,该语句创建 Hello 类的实例对象 h 的线程。44.在捕获异常时要用 【9
35、】 子句。(分数:2.00)填空项 1:_ (正确答案:try-catch)解析:解析 try 和 catch 语句在捕获异常时使用,当此语句执行时,解释器把可以产生异常的代码段形成一个“警戒区”,此“警戒区”由 try 引导。“警戒区”后面是 catch 从句,其后可接多个 catch语句。45.从显示器流向内存的数据流,属于输入流;从内存流向显示器的数据流,属于 【10】 。(分数:2.00)填空项 1:_ (正确答案:输出流)解析:解析 流可以看作是一个流动的数据缓冲区,数据从数据源流向数据目的地。流是串行的。凡是从外部设备流向主机的数据流,称之为输入流;反之,称为输出流。常用的外部设备
36、一般包括:键盘、显示器、硬盘、扫描仪、打印机和网络等。主机通常包括中央处理器和内存。46. 【11】 包含在 java.utilregex 包中,它可以应用在字符输入流的模式字符串搜索中。(分数:2.00)填空项 1:_ (正确答案:正则表达式)解析:解析 正则表达式应用于字符输入流的模式字符串搜索中,它包含在包 java.util.regex 中。47.RandomAccessFile 继承了 Objects 类,实现 DataInput 和 【12】 接口。(分数:2.00)填空项 1:_ (正确答案:DataOutput)解析:解析 文件操作中经常需要的是随机访问 Java 中的 Ran
37、domAecessFile 类提供的随机访问文件的功能,它继承于 Object 类,用 DataInput 和 DataOutput 接口来实现。48.Java 中线程模型由虚拟的 CPU、代码与数据构成,该模型是由 java.lang. 【13】 类进行定义和描述的。(分数:2.00)填空项 1:_ (正确答案:Thread)解析:解析 线程模型在 Java 中是由 java.lang.Thread 类进行定义和描述的。程序中的线程都是 Thread 的实例。49.AWT 中的布局管理器包括 BorderLayout、 【14】 、CardLayout、GridBagLayout 和 Gri
38、dLayout。(分数:2.00)填空项 1:_ (正确答案:FlowLayout)解析:解析 为了实现跨平台的特性并且获得动态的布局效果,Java 将容器内的所有构件安排给一个“布局管理器”负责管理,不同的布局管理器使用不同的算法和策略,容器可以通过选择不同的布局管理器来决定布局。AWT 中的布局管理器包括:BorderLayout、FlowLayout、CardLayout、 GridBagLayout和 GridLayout。50. 【15】 是 Java 与 Web 相结合的一种应用形式。(分数:2.00)填空项 1:_ (正确答案:Applet)解析:解析 Applet 的引入,使得 Java 应用程序在 Web 应用开发时具有动画、声音、图像以及其他特殊效果,使用户能和 Web 页动态交互。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1