MJ01 JAVA技术能力考试试卷(1级)-答案

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

一、选择题(含单选题和多选题,每题3分,共60分)
在每小题列出的四个备选项中只有1个或多个是符合题目要求的,多选题已用*标识出来,请将其答案填写在题后的括号内,错选或未选均无分。

1、下列关于对象的哪一种说法是正确的, 请选出1个正确的答案。

(b )
A.对象是可以对其进行实例化从而得到类的东西
B.对象是类的实例
C.对象是一种蓝本,据此可以创建抽象的具体实现
D.对象是指向属性的引用
*2、下列哪几项是保留关键字。

( a b c )
A.public
B.static
C.void
D.main
E.String
F.Args
3、哪一种说法是正确的?( c )
A.在JA V A语言中,new和delete都是关键词
B.在JA V A语言中,try 、catch和thrown都是关键词
C.在JA V A语言中,return、goto和default都是关键词
D.在JA V A语言中,exit、class和while都是关键词
4、JA V A中哪种整型的取值的范围恰好为-2147483648(-2 31)~ 2147483647(2 31 -1), , 请选出1个正确的答案。

(c )
A.number型
B.short型
C.int 型
D.long 型
5、试图编译、运行如下类会有什么后果?(d )
public class Assigment {
public static void main(String[] args){
int a,b,c;
b = 10;
a =
b =
c =20;
Systemout.println(a) ;
}
}
请选出1个正确的答案。

A.代码无法被编译,因为编译器会认为赋值语句a=b=c=20;中的变量c尚未初始化
B.代码无法被编译,因为赋值语句a=b=c=20; 是非法的
C.代码会被正确编译,运行时将显示10
D.代码会被正确编译,运行时将显示20
*6、假定变量x=8的类型是int(它可以存放着负值),则哪些方式能正确地使x的值翻倍,请选出4个正确的答案。

(bcde )
A.x<<1;
B.x=x*2;
C.x*=2;
D.x+=x;
E.x<<=1;
7、假定有如下类:(d )
//Filenname:Args.java
public class Args {
public static void main(String[] args) {
system.out.println(args[0] + ““ + args[args.length-1]);
}
}
执行如下命令行后的结果将是什么?
java Args In politics stupidity is not a handicap
请选出1个正确的答案
A.程序将抛出ArrayIndexOutOfBoundsException.
B.程序将打印出Java handicap.
C.程序将打印出Args handicap.
D.程序将打印出In handicap.
8、尝试编译,运行如下程序会得到什么结果?(a )
public class DefalutValuesTest {
int[] ia = new int[1];
boolean b;
int i;
object o;
public static void main (String[] args) {
DefaultValuesTest instance = new DefaultValuesTest();
instance.print();
}
public void print(){
System.out.println(ia[0] + ““ + ““ +i + ““ +o);
}
}
请选出1个正确的答案.
A.该程序会打印出0 false 0 null.
B.该程序运行时会抛出ng.NullPointerException.
C.该程序会打印出0 false NaN null.
D.该程序会打印出null false 0 null.
9、哪一个命题为真?(b )
请选出一个正确的答案
A.所有类都必须定义一个构造函数.
B.构造函数必须声明为private.
C.构造函数必须返回值.
D.构造函数必须初始化类的所有字段.
10、如下哪种类定义是不可扩展类的有效定义?(e )
A.class Link{}
B.abstract class Link{}
C.native class Link{}
D.static class Link {}
E.final class Link{}
11、在下列选择一项正确的说法。

(a )
A.transient字段在序列化期间不会被保存.
B.构造函数可以声明为abstract.
C.由int[] a =new int[10]语句构造的数组对象的初始状态将依赖于数组变量a是一个局部变量还是一个字段.
D.只有静态方法能访问静态成员.
12、编译,运行如下程序后,将以什么次序打印出哪些数字? 请选出1个正确的答案。

(d )
public class Myclass {
public static void main(String[] args){
RuntimeException re = null ;
throw re;
}
}
A.代码将无法被编译,因为main()方法在其声明中表示自己会抛出Runtime Exception.
B.程序将无法被编译,因为它无法抛出re.
C.程序可以被无错地编译,并且运行时将抛出ng.RuntimeException.
D.程序可以被无错地编译,并且运行时将抛出ng.NullPointerException.
13、断言语句抛出的异常隶属于哪个类, 请选出1个正确的答案。

(e )
A.FailedAssertion
B.AssertionException
C.取决于该断言语句
D.ErrorObject
E.AssertionError
14、给定类A、B、C,其中B扩展了A,C又扩展了B,而且它们都实现了实例方法void doIt().如何从C中的实例方法来调用A中的doIt()方法呢? 请选出1个正确的答案。

(d )
A.doIt();
B.super.doIt();
C.super.super.doIt();
D.这是不可能的
*15、给定如下代码,哪个声明能插入至所示的位置而不会导致编译错误。

(a c )
interface MyConstants {
int r =42;
int s = 69;
int Area;
//插入代码
}
A.final double circumference = 2 *Math.PI*r ;
B.int total = total + r +s;
C.int ArRa = r*s;
D.public static MAIN=15;
E.protected int CODE = 31337;
16、哪种说法阐明了垃圾收集和终结化机制所承诺的行为? 请选出1个正确的答案。

(b )
A.对象直到没有任何引用指向自己时才会立即被销毁
B.对一个对象调用的finalize()方法永远不会多于一次
C.适用于收集的对象会最终由垃圾收集器销毁
D.对象一量适用于垃圾收集,就再也无法由存活线程访问了
17、以下哪个方法是正确的启动新线程的方法?请选出1个正确的答案。

( c )
A.只须创建新线程对象,新线程会自动启动
B.创建新线程对象并调用方法begin()
C.创建新线程对象并调用方法start()
D.创建新线程对象并调用方法run()
18、哪个方法不是在String类中定义的? 请选出1个正确的答案。

(e )
A.trim()
B.length()
C.concat(String)
D.hashCode()
E.reverse()
19、下列哪个集合实现是线程安全的?请选出1个正确的答案。

(c )
A.ArrayList
B.HashSet
C.Vector
D.TreeSet
E.LinkedList
20、Struts控制器具有的职责中,以下哪种说法不正确。

(e )A.拦截客户请求
B.把每个请求映射到一个特定的业务操作
C.从业务操作收集结果,使其成为可供客户使用的形式
D.根据目前的状态和业务操作的结果,确定要显示给客户看的视图E.控制页面访问的次数和方式
二、简答题(前两题每题5分,3,4题任选一道10分,共20分)
1、Struts框架会使用不同的共享资源区来存储对象,共享资源区都有一个lifetime和visibilty规则,请列举出四种不同的作用域并说明作用范围,并简述转发与重定向的主要差异:
答:请求作用域:局限在请求request的生命周期,服务器完成请求,响应也返回客户,则请求也结束。

会话作用域:用来识别某个跨多个页面请求的用户。

会话建立的时机是由应用程序和容器实现来决定,比请求层次的对象要久一点。

应用作用域:WEB应用程序的所有线程都看得见应用作用域的对象,直到有程序代码将其删除,或者应用程序中止。

页面作用域:只有所属的JSP页面才可以存取对象。

从使用范围来看:请求作用域<会话作用域<应用作用域。

转发与重定向的主要差异是:任何在重定向发生之前以’请求属性’存储的对象都会遗失。

而使用转发,则存储在请求中的对象传动跟着比给下一个资源使用。

2、JSP标准提供了三种独立的向JSP添加代码的技术,请列举两种
答:scriptlet
Javabean
定制标签库
3、某省的计费帐务系统已设计完成,包括计费子系统(C++编写),销帐子系统(c++编写),前台WEB子系统.现客户已确定采用了tuxedo和weblogic中间件及ORACLE产品,请您根据上述工具,及封装业务逻辑具体实现过程的思想,确定tuxedo主要完成哪类操作,并简述前台可以采用何种框架及如何实现的设想。

答:tuxedo主要操作ORACLE数据库各表数据的存取,从而实现业务处理过程。

前台可采用struts, hibernate,spring等技术(可任意取一种框架技术,目的是考察对某种框架的熟悉情况和表述完整性,不做具体规定)
4、在你以前所做的项目中,请列举一种实施效果比较好的框架技术,并结合你的项目说明采用这种框架技术的利与弊,谈谈你的体会,请主要结合业务与实际运行效果,针对这种框架技术的特点展开来说明。

答struts, hibernate,spring等技术,可任意列举,主要考察应试者是否做过框架,以及对这种框架的掌握程度。

三、编程题(每题10分,共20分)
1、在web.xml的配置文件中,利用struts的error-page元素,增加一段代码配置,将404(服务器内部错误)产生时转到error404.jsp进行处理。

或者用文字来描述出这种配置方式,系统的处理机制和原理过程。

答:代码如下,其中第一行和最后一行可以不写
<web-app>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
</web-app>
选择文字描述者可以考察应试者是否熟悉配置的处理机制,可以不写出上面的过程。

2、现有一个数组int data_arr[]={12,31,56,23,27,1,43,65,4,99} ,已完成如下代码,请在注释处增加一段代码,实现这样的功能:将data_arr数组的内容先写入一个名为”temp.dat”文件中,再重新将该文件的内容读出,能逆序将文件的内容输出至控制台(形如99,4,65,43,1,27,23,56,31,12)。

import java.io.IOException;
public class arrayTest {
public arrayTest() {
}
public static void main(String args[]) {
//请在本处插入完整的实现代码.
}
}
答:可以有其他实现方式,但是本方式更简单效率。

主要考察应试者是否熟悉文件操作。

作参考。

public static void main(String args[]) {
int data_arr[]={12,31,56,23,27,1,43,65,4,99};
try {
RandomAccessFile randf
=new RandomAccessFile("temp.dat", "rw");
for (int i=0; i<data_arr.length; i++)
randf.writeInt(data_arr[i]);
for (int i=data_arr.length-1; i>=0; i--) {
randf.seek(i*4);
System.out.println(randf.readInt());
}
randf.close();
} catch (IOException e){
System.out.println("File access error: "+e);
}
}
3、请您为某地的营业系统写一个用户登录页面。

答:仅作参考,JA V ABEAN部分未写,写出更好
<html>
<head>
<title>用户登录</title>
<link rel =”stylesheet” href =”stylesheets/main.css” type = “text/css”>
</head>
<body>
<form method = “post” action = “/action/login”>
<table border = “0” cellspacing = “0” cellpadding = “0”>
<tr><td>工号</td>
<td>&nbsp; </td>
<td>
<input type = “text” name = “login” size = “20” maxlength = “20”/>
</td>
</tr>
<tr><td>口令</td>
<td>&nbsp; </td>
<td>
<input type = “text” name = “password” size = “20” maxlength = “30”/>
</td>
</tr>
<table width = “250” border= “0”>
<tr>
<td>
<input type = “submit” name = “Submit” value =”登录” class = “Buttons”/> </td>
</tr>
</table>
</form>
</body>
</html>。

相关文档
最新文档