1、1 / 11一、单项选择题1下列语句哪一个正确?A Java 程序经编译后会产生 machine codeB Java 程序经编译后会产生 byte codeC Java 程序经编译后会产生 DLLD 以上都不正确答案为 B2、以下的语句构造了几个 JAVA 对象?String S = new String(“aaa”);A. 1B. 2C. 3D. 4答案为 B3、下列哪些关键字即能够被用于局部变量的修饰,也可以用做类变量的修饰?A. publicB. transientC. staticD. finally答案为 D4、下面的哪些叙述为真?A. equals() 方法判定引用值是否指向同一
2、对象B. = = 操作符判定两个不同的对象的内容和类型是否一致C. equal() 方法只有在两个对象的内容一致时返回 tureD. 类 File 重写方法 equals() 在两个不同的对象的内容和类型一致时返回 ture答案为 A5、下列说法正确的有?Aclass 中的 constructor 不可省略Bconstructor 必须与 class 同名,但方法不能与 class 同名2 / 11Cconstructor 在一个对象被 new 时执行D一个 class 只能定义一个 constructor答案为 C6、下列运算符合法的是?Ac=0;do-c;a=a-1;while(a0);后
3、,C 的值是()A0B 1C-1D死循环答案为 C8、下列哪种说法是正确的?A实例方法可直接调用超类的实例方法B实例方法可直接调用超类的类方法C实例方法可直接调用其他类的实例方法D实例方法可直接调用本类的类方法答案为 D 9、下列不正确的有?A call byvalue 不会改变实际参数的数值B call by reference 能改变实际参数的参考地址C call byreference 不能改变实际参数的参考地址D call byreference 能改变实际参数的内容3 / 11答案为 B10、关于抽象类与接口,下列说法正确的是?A、接口就是抽象类,二者没有区别。B 、抽象类可以被声明
4、使用,接口不可以被声明使用。C、抽象类和接口都不能被实例化。D、以上说法都不对。答案为 C11下面哪一项是线程安全的?A.Vector B.Stack C.HashMap D.HashSet 答案为 A12、下面哪个命令可以实现文件名的更改? A. cp B. rm C. mv D. ln答案为 C13、文件 exer1 的访问权限为 rw-r-r-,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是?A. chmod a+x g+w exer1 B .chmod 765 exer1 C .chmod o+x exer1 D. chmod g+w exer1答案为 A14. 关于
5、Spring 的说法错误的是?A、Spring 是一个轻量级 JAVA EE 的框架集合。 B、Spring 包含一个 “依赖注入 ”模式的实现。 4 / 11C、使用 Spring 可以实现声明事务。 D、和 EJb 容器一样,是一个“ 全有全无”的解决方案。答案为 D15、 聚合函数不可以用在下列哪个语句中?A、SELECT 子句 B、HAVING 子句C、WHERE 子句 D、子查询E、ORDER BY答案为 E16、哪个实现 IF.THENELSE 逻辑?A. INITCAP()B. REPLACE()C. DECODE()D. IFELSE()答案为 C17、哪个命令用来创建一个 p
6、rimary key constraintpk_books 在表 BOOKS, 列 ISBN 上? A. create primary key on books(ISBN);B. create constraint pk_books primary key on books(ISBN);C. alter table books add constraint pk_books primary key (ISBN);D. alter table books add primary key (ISBN);答案为18、在最坏的情况下,查找成功时二叉排序树的平均查找长度?A.无法与顺序表的平均查找长度比
7、较B.大于顺序表的平均查找长度C.小于顺序表的平均查找长度D.与顺序表的平均查找答案为 C19、.弱线性表次啊用链式存储结构,则使用的查找方式?5 / 11A.随机查找B.散列查找C.二分查找D.顺序查找答案为 D20、下列项中哪一项不是创建型模式?A.抽象工厂模式B.代理模式C.原型模式D.单例模式答案为 B21、运行下面程序输出结果是?public static void main(String a) throws Exception Class clazz = ArrayList.class; Method method = clazz.getMethod(“isEmpty“, new
8、Class ); Object result = method.invoke(clazz.newInstance(), new Object ); System.out.println(result); A.运行时出错 B.nullC.trueD.false答案为 C22、在关系模型中,实现“关系中不允许出现相同的元组“的约束是通过下列哪项来管理的?A.候选键 B.主键 C.外键D.超键答案为 B23、以下数据结构中不属于线性数据结构的是?6 / 11A队列 B线性表 C二叉树 D栈答案为 C24、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是?A概要设计 B详细设
9、计 C可行性分析 D需求分析答案为 D25、对设置 session 失效的时间的描述不正确的是?A.是在%Tomcat_home%/conf/web.xml 文件的 session-config 标签中配置的。 B. tomcat 中 session 的实效时间默认是 30 分钟。 C. session 的实效时间的配置单位是毫秒,而不是分钟。 D. 对于购物网站来讲,把 session 的实效时间设置少一点,可以降低服务器的负载, 因为大多数人只是逛逛,购物的人不多。答案为 C二、填空题1、已知 3*3 矩阵如下 :1 2 34 5 67 8 9假设(1 5 9)为该矩阵的正对角线。以下程序
10、是求该矩阵的正对角线的值的和。请完成程序。public class Testpublic static void main(String args) int i, j, sum = 0;int count = 1;int a = new int33;for (i = 0; i extends Sort public void sort(E array, int from, int end, Comparator c) for (int k = 1; ; k+) for (int i = ; ; i) if () swap(array, i, i - 1); public static void
11、 main(String args) Integer intgArr = 7, 2, 4, 3, 12, 1, 9, 6, 8, 5, 11, 10 ; BubbleSort sort = new BubbleSort(); BubbleSort.testSort(sort, intgArr); 8 / 11BubbleSort.testSort(sort, null); 答案:1)k = k4) pare(arrayi, arrayi - 1) 0三、改错题1、abstract class Name private String name;private abstract String do
12、Something ();public abstract boolean isStupidName(String name) 答案: abstract method 必须以分号结尾,且不带花括号。abstract 的 methods 不能以 private 修饰。2、public class Something public int addOne(final int x) return +x;答案:int x 被修饰成 final,意味着 x 不能在 addOne method 中被修改。3、class Something final int i;public void doSomething
13、() System.out.println(“i = “ + i);答案: final int i 是个 final 的 instant variable (实例变量,或叫成员变量 )。final 的instant variable 没有 default value,必须在 constructor (构造器)结束之前被赋予一个明确的值。可以修改为“final int i = 0;“。9 / 114、interface Aint x = 0;class Bint x =1;class C extends B implements A public void pX()System.out.prin
14、tln(x);public static void main(String args) new C().pX();答案:在编译时会发生错误(错误描述不同的 JVM 有不同的信息,意思就是未明确的x 调用,两个 x 都匹配(就象在同时 import java.util 和 java.sql 两个包时直接声明 Date一样) 。对于父类的变量,可以用 super.x 来明确,而接口的属性默认隐含为 public static final.所以可以通过 A.x 来明确四、简答题1、Java 中如何定义和使用接口?答案:使用关键字 interface 来定义一个接口,接口的定义和类的定义很相似,分为接
15、口的声明和接口体。(2 分)一个类通过关键字 implements 声明自己使用一个或多个接口,如果使用多个接口,则用逗号隔开接口。(2 分)如果一个类使用某个接口,那么这个类必须实现该接口的所有方法(1 分)2、用向量类的对象存储数据与用数组表示数据有什么区别? 答案:数组元素可以是任何类型的数据,向量中的元素不能是基本数据类型的数据; (2.5 分)数组一旦用 new 运算符创建后,其大小不可以改变,向量对象的大小可根据元素的增加自动增加;(2.5 分)3、 请介绍一下 Spring 框架中 Bean 的作用域。10 / 11答案:在 spring2.0 之前 bean 只有 2 种作用域
16、即:singleton(单例)、non-singleton(也称 prototype) ,Spring2.0 以后,增加了 session、request 、global session 三种专用于Web 应用程序上下文的 Bean。因此,默认情况下 Spring2.0 现在有五种类型的 Bean。4、编写 SQL 语句查询出每个各科班分数最高的同学的名字,班级名称,课程名称,分数。数据表结构如下图所示:答案:select class.name,student.name,course,scorefrom class,student,score,(select max(score) max_sc
17、ore ,course,classid from score,student where score.studentid = student.id group by course,classid) tmpwhere class.id =student.classid and student.id = score.studentidand score.score = tmp.max_scoreand score.course =tmp.courseand student.calssid = tmp.classid5、设某二叉树的前序遍历序列为 6,9,7,8,1,3,4; 中序遍历序列为 9,8,7,1,6,4,3; 请画出此二叉树,并给出其后序遍历序列。答案: 后序序列为:8,1,7,9,4,3,6