模块一:Java2编程技术基础 2
一、 单项选择题 2
二、 多项选择题 3
三、 程序填空题 5
四、 程序解析题 6
五、 程序编程题 7
模块二:基于Java技术的Web应用开发 9
一、 程序填空题 9
二、 程序解析题 9
三、 程序编程题 12
模块一:Java2编程技术基础
一、单项选择题
1.对成员的访问控制保护最强的是( )。
A、public
B、缺省
C private
D、protected
2.下列哪个类是Java IO编程用于处理字符的高级输入流( )
A、Reader类
B、InputStream类
C、OutputStream类
D、File类
3.Frame类的缺省的布局管理器是( )
A、BorderLayout
B、FlowLayout
C、GridLayout
D、CardLayout
4.下面那种语言是解释执行的( )。
A. C++
B. Delphi
C. JavaScript
D. Java
5.下列关于对Java内部匿名类描述正确是?
A.匿名内部类可以声明成final的
B.匿名内部类可以声明成private的
C.匿名内部类可以实现多"接口"
D.匿名内部类可以访问在任意块中的final型变量
二、多项选择题
1. 下面表述关于Java在因特网上广泛应用的原因表述正确的有哪些?
A.Java的跨平台性,Java程序可以多个平台运行。
B.在嵌入式设备中,Java平台也大有用武之地。
C.Java程序大多以线程运行,占用资源少,会逐步代替ASP与CGI程序。根据第三方测试表明:JSP程序比ASP程序要快2倍以上。用JSP代替ASP应是大势所趋。
D.Java在无线互联网中的应用将会更加广泛。Java支持WAP,可以方便地用Java开发WAP程序,实现WAP应用。
E.Java与XML的无缝连接使Java在数据传输和异构网络通信方面有着很大的优势。
2.阅读以下代码,下面哪些表述是正确的
public interface Car {
abstract double getMass();
public double getThrust();
void setSimTime(double t);
}
A. Car接口中的三个方法都是抽象方法,虽然只有getMass()方法显示地声明为抽象方法。
B. Car接口中的三个方法都是公有方法,虽然只有getThrust()方法显示地声明为公有方法。
C. 接口被声明为“公有接口”,即使省略了public关键字。
D. 可以再创建一个接口如MiniCar接口,并扩展Car接口
E. 每个接口必须至少包含一个方法
3.下面关于Java继承特性的描述哪些是正确的?
A. 在Java中只允许单一继承。
B. 在Java中一个类只能实现一个接口。
C. 在Java中一个类不能同时继承一个类和实现一个接口。
D. Java的单一继承使代码更可靠。
E. Java的继承语法使用关键字implements
4.给定下列代码:
public class Parent {
public int addValue( int a, int b) {
int s;
s = a+b;
return s;
}
}
class Child extends Parent {
}
下列的方法声明如果作为Child类的方法,哪些方法覆盖了Parent类中的addValue方法。
A. int addValue( int a, int b ){/*do something…*/}
B. public void addValue (){/*do something…*/}
C. public int addValue( int a, int b ){/*do something…*/}
D. public int addValue( int a, int b )throws MyException {//do something...}
E. protected int addValue(int a, int b)
5. 继承AbstractTableModel类实现表格设计,允许表格单元格可编辑则下列哪些方法必须需重写
A addTableModelListener(TableModelListener xxx)
B getColumnClass(int col)
C getColumnName(int col)
D setValueAt(Object obj, int row, int col)
E、isCellEditable(int row, int col)
三、程序填空题
1.根据下面的源代码,写出程序运行的输出结果:
public class Test2 {
static void exchange(int i, int j) {
int t;
t = i; i = j; j = t;
}
public static void main(String[] args) {
int i = 3, int j = 4;
exchange(i, j);
System.out.println("i=" + i);
System.out.println("j=" + j);
}
}
填写答案:______________
参:i=3 j=4
2.根据下面的源代码,写出程序运行的输出结果:
public class Test3 {
public Test3() {
System.out.println("Test3_created.");
}
public Test3(String s) {
System.out.println("Test3_for_" + s + "_created.");
}
public static void main(String[] args) {
Test3 t31;
Test3 t32 = new Test3();
Test3 t33 = new Test3("Sam");
}
}
填写答案:______________
参:Test3_created. 和 Test3_for_Sam_created.
四、程序解析题
1.在编译和运行下列代码时,什么情况可能会发生?
public class MyClass {
public static void main(String arguments[]){
amethod(arguments);
}
public void amethod(String[] arguments){
System.out.println(arguments);
System.out.println(arguments[1]);
}
}
A.错误,main方法签名不正确。
B.错误,数组应该包含参数。
C.错误,amethod方法必须定义为String类型。
D.错误,不能用静态方法直接引用非静态方法amethod
2.编译下列代码的结果是?
public class SiteInfo{
String webSite="http://www.lanw.com"+'/'+"default.htm";
public String getSite(){
return webSite;
}
}
A.没有任何问题
B.编译器会报错误:':' expected for the statement in line 2.
C.缺少main方法.
D.getSite()方法中的return webSite有问题
五、程序编程题
1.试编写程序求下面的问题:列出所有在10000以内,符合下面条件的整数,它加上100后是一个完全平方数,加上268又是一个完全平方数?
参
21
261
1581
参考代码
public class App {
public static void main(String[] args) {
int i, x, y, z;
for (i = 1; i < 100000; i++) {
x = (int) Math.sqrt(i + 100);
y = (int) Math.sqrt(i + 268);
if (x * x == i + 100 && y * y == i + 268)
System.out.println(i);
}
}
}
模块二:基于Java技术的Web应用开发
一、程序填空题
1.Servlet的实例对象在多个线程运行状态下可能同时访问一些共享数据,所以对doGet和doPost方法的调用必须谨慎要,如果要阻止一个Servlet对象被多线程调用执行可以使Servlet实现类实现_________接口。
填写答案:______________
2.JSP Model 2 和JSP Model 1 最大的区别是引入了______的概念。
填写答案:______________
二、程序解析题
1.下面的代码片段演示是通过在一个Html表单中输入一个数据,之后由 HTTP请求将数据提交给一个Servlet实例进行处理。
HTML文件:doGetservlet.html 代码如下:
请输入数据:
______________
Servlet文件HelloServlet .java 代码如下:
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException,
ServletException {
request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out.println("你输入的是:
" + request.getParameter("name"));
out.flush();
out.close();
}
web.xml文件配置如下:
为上面横线部分选择相应的代码,使得程序能够正确运行?
A.
Sayhi.java代码:
package org.tongking.javaweb7_4;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Sayhi extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("gb2312");
String Name = request.getParameter("Name");
out.println("");
out.println("
out.println("
");out.println("Hi:" + Name);
out.println("");
out.println("");
out.close();
}
public String getServletInfo() {
return "org.tongking.javaweb7_4 Information";
}
public void destroy() {
}
}
web.xml配置文件代码:
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">