二级JAVA笔试60
(总分:100.00,做题时间:90分钟)
一、{{B}}选择题{{/B}}(总题数:35,分数:70.00)
1.下面程序段: boolean a=false; boolean b=true; boolean c=(a&&b)&&(!b); boolean result=(a&b)&(!b); 执行完后,正确的结果是( )。
(分数:2.00)
(分数:2.00)
A.c=false;result=false √
B.c=true,result=true
C.c=true;result=false
D.c=false;result=true
解析:[解析] 本题考查Java中的运算。首先要清楚,“&&”是逻辑与运算符;“!”是逻辑非运算
符;“&”是按位与运算符。按照逻辑运算符“a&&b”是false,“!b”是false,所以c是false。“a及b”是false,所以result是false。要注意区分“&&”和“&”,以及运算符之间的优先级关系,本题虽然没有涉及,但也要作为重点掌握。
2.已知:int[]a=new int [100];在下列给出的数组元素中,非法的是( )。
(分数:2.00)
(分数:2.00)
A.a[0]
B.或[1]
C.a[99]
D.a[100] √
解析:[解析] 本题考查Java中数组的概念。对于数组的掌握,不能仅仅停留在概念上,更多的是能将所学的知识灵活运用。int[]a=new int[100]定义了一个数组a,含有100个整型元素。在Java中,数组元素的下标是从0开始的,因此上面定义的数组实际上下标是从0~99,所以选项D错误。
3.在switch(expression)语句中,expression的数据类型不能是( )。
(分数:2.00)
(分数:2.00)
A.double √
B.char
C.byte
D.short
java类的概念解析:[解析] 本题考查考生对swithch(expression)语句的理解。表达式expression只能返回:int、 byte、short和char,题目中的double是不正确的。同时还要注意,多分支结构中,case子句的值必须是常量,而且所有case子句中的值应是不同的,default子句是任选的。
4.为了使模块尽可能独立,要求( )。
(分数:2.00)
(分数:2.00)
A.模块的内聚程序要尽量高,且各模块间的耦合程度要尽量强
B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 √
C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
解析:[解析] 系统设计的质量主要反映在模块的独立性上。评价模块独立性的主要标准有两个:一是模块之间的耦合,它表明两个模块之间互相独立的程度:二是模块内部之间的关系是否紧密,称为内聚。一般来说,要求模块之间的耦合尽可能地弱,即模块尽可能独立,而要求模块的内聚程度尽量地高。综上所述,选项B的答案正确。
5.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。
(分数:2.00)
(分数:2.00)
A.数据与程序独立存放
B.不同的数据被存放在不同的文件中
C.不同的数据只能被对应的应用程序所使用
D.以上三种说法都不对 √
解析:[解析] 数据具有两方面的独立性:一是物理独立性。即由于数据的存储结构与逻辑结构之间由系统提供映像,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。二是逻辑独立性。即由于数据的局部逻辑结构(它是总体逻辑结构的一个子集,由具体的应用程序所确定,并且根据具体的需要可以作一定的修改)与总体逻辑结构之间也由系统提供映像,使得当总体逻辑结构改变时,其局部逻辑结构可以不变,从而根据局部逻辑结构编写的应用程序也可以不必修改。综上所述,本题的正确答案是D。
6.在一棵二叉树上第5层的结点数最多是( )。
(分数:2.00)
(分数:2.00)
A.8
B.16 √
C.32
D.15
解析:[解析] 根据二叉树的性质,在二叉树的第 K层上,最多有2的k 1次方个结点。所以,第5层的结点数最多为16。
7.下列关于线程调度的叙述中,错误的是( )。
(分数:2.00)
(分数:2.00)
A.调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会
B.调用线程的yeild()方法,只会使与当前线程相同优先级的线程获得运行机会
C.当有比当前线程的优先级高的线程出现时,高优先级线程将抢占CPU并运行
D.具有相同优先级的多个线程的调度一定是分时的 √
解析:[解析] 本题考查对线程调度的理解。线程属于考试难点,概念不容易理解,需多下
功夫。调用线程的sleep()方法,可以使比其低的优先线程运行,所以选项A说法正确;调用线程的 yeild()方法,只让给同优先级运行,所以选项B说法正确;Java的线程调度策略是一种基于优先级的抢先式调度,所以选项C说法正确;具有相同优先级的多个线程的调度可能是分时的,也可能是线程逐个运行,由具体JVM而定,选项D说法错误,故为所选。
8.在Java中,能实现多重继承效果的方式是( )。
(分数:2.00)
(分数:2.00)
A.内部类
B.适配器
C.接口 √
D.同步
解析:[解析] 本题考查Java中多重继承的概念。首先要区分选项中各个概念。内部类是在
一个类中的内部嵌套定义的类,主要用来生成事件适配器。适配器定义一个包装类,包装有不兼容接口的对象。这个包装类指的就是适配器 (Adapter),它包装的对象就是适配者 (Adaptee),适配器提供客户类需要的接口。接口是一种只含有抽象方法或常量的一种特殊的抽象类,因为接口不包括任何实现,所以与存储空间没有任何关系,将多个接口合并,即多重继承就可以很容易实现,选项C正确。同步主要用在多线程程序设计中。
9.下列属于合法的Java标识符是( )。
(分数:2.00)
(分数:2.00)
A._cat √
B.5books
C.+static
D.-3.14159
解析:[解析] 本题考查Java标识符的命名规则。这是考试重点内容。 Java中标识符的命名
规则是:标识符以字母、下划线、美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。由此可见Java中标识符不能以数字开头,所以选项B错误,不能以“+”开头,选项C错误,不能以“-”开头,选项D错误,只有选项A是正确答案。
10.下列数据结构中,能用二分法进行查的是( )。
(分数:2.00)
(分数:2.00)
A.顺序存储的有序线性表 √
B.线性链表
C.二叉链表
D.有序线性链表
解析:[解析] 二分查只适用于顺序存储的有序表。在此所说的有序表是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等)的。选项A正确。
11.在下面附属类方法中的下划线处应填入的正确参数是( )。 public void writeData(______
__) throws IOException{ GregorianCalendar calendar=new GregorianCalendar(); calendar.setTime(hireDay); out.println(name+"|"+salary+"|" +(Calendar.YEAR)+"|" +((Calendar.MONTH)+1)+"|" +(Calendar.DAY_OF_MONTH)); }
(分数:2.00)
(分数:2.00)
A.Employee[]e
B."employedat"
C.PrintWriter out √
D.BufferedWriter
解析:[解析] 本题考查考生对附属类的掌握。题目看起来很难,其实不用去理解程序即可回答,按照Java中的语法规则,只有选项C满足题目。在题目中出现了“out”变量,只有选项C中“PrintWriter out”有该变量。选项A只是用来定义一个数组,选项B是一个常量,不能用在这里,选项D中“BufferedWriter”后缺少参数。这个题目考点有些含糊,容易让考生莫
名其妙,如果将程序整个给出也许更好一些,了解即可,本题的关键是明白附属类的概念。
12.在Java中,所有类的根类是( )。
(分数:2.00)
(分数:2.00)
A.javlanObject √
B.javlanClass
C.javappleApplet
D.javawFrame
解析:[解析] 本题考查考生对Java类的掌握。在 Java中java.lang包封装着所有编程应用的基本类。Object是所有类的根,它所包含的属性和方法被所有类集成。Class类是由编译器自动生成对象的一个特殊类,它伴随每个类。选项C和选项D都是普通类。
13.数据库系统的核心是( )。
(分数:2.00)
A.数据模型
B.数据库管理系统 √
C.软件工具
D.数据库
解析:[解析] 数据库管理系统是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,因此数据库管理系统是数据库系统的核心。
14.下列情况中,不会使线程返回所持有的对象锁的是( )。
(分数:2.00)
(分数:2.00)
A.当synchronized()语句块执行完毕
B.当调用了线程的suspend()方法 √
C.当在synchronized()语句块中出现异常(Exceptio
D.当持有锁的线程调用该对象的wait()方法
解析:[解析] 本题考查Java线程中对象的加锁及其操作。对象加锁的使用非常灵活,一定要注意。对象的锁在如下几种情况下由持有线程返还:当synchronized()语句块执行完后,所以选项A错误;当在synchronized()语句块中出现异常 (exception),所以选项B错误;当持有锁的线程调用该对象的wait()方法,此时该线程将释放对象的锁,所以选项D错误。而当调用了线程的suspend()方法只是使线程暂时停止执行,可以使用其他线程调用resume()方法恢复执行,所以选项B正确。
15.下列关于Applet的叙述中,错误的是( )。
(分数:2.00)
(分数:2.00)
A.Applet是Java类,所以可以由JDK中的解释器javexe直接解释运行 √
B.Applet应该定义为javappleApplet类或javaswinJApplet类的子类
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论