Java考试题
一:单选题
- 下列哪一种叙述是正确的(D )
A. abstract修饰符可修饰字段、方法和类
B. 抽象方法的body部分必须用一对大括号{ }包住
C. 声明抽象方法,大括号可有可无
D. 声明抽象方法不可写出大括号 - 如下代码 public class Test { public int aMethod() {static int i = 0;
i++;
return i;
}
public static void main (String args[]) {
Test test = new Test();
test.aMethod();
int j = test.aMethod();
System.out.println(j);
}
}
输出结果是什么? D
A. 0
B. 1
C. 2
D. 编译失败- 下列哪种说法是正确的( D)
A. 实例方法可直接调用超类的实例方法
B. 实例方法可直接调用超类的类方法
C. 实例方法可直接调用其他类的实例方法
D. 实例方法可直接调用本类的类方法 - 如下代码:
class Super {
public Integer getLenght() { return new Integer(4); }
}
public class Sub extends Super {
public Long getLenght() { return new Long(5); }
public static void main(String[] args) {
Super sooper = new Super();
Sub sub = new Sub();
System.out.println(sooper.getLenght().toString() + "," +
sub.getLenght().toString() );
}
}
输出是什么? A
A. 4,4
B. 4,5
C. 5,4
D. 5,5
E. 编译失败.---------重定时不能改变返回类型- 在Servlet处理请求的方式为: C
A.以进程的方式
B.以程序的方式
C.以线程的方式
D.以响应的方式 - JDBC中,用于表示数据库连接的对象是: B
A.Statement
B.Connection
C.DriverManager
D.PreparedStatement - 用于调用存储过程的对象是: C
A.ResultSet
B.DriverManager
C.CallableStatemet
D.PreparedStatement - 按照MVC设计模式,JSP用于实现: B
A.Model
B.View
C.Controller
D.容器 - 如下代码
10. public Object m() {
11. Object o = new Float(3.14F);
12. Object [] oa = new Object[1];
13. oa[0] = o;
14. o = null;
15. oa[0] = null;
16. print 'return 0';
17. }
当Float对象在第11行被创建后, 什么时候能够被垃圾回收? CA. 13行以后.
B. 14行以后.
C. 15行以后.
D. 16行以后.
10. 如下代码:
class Base {
Base() { System.out.print("Base"); }
}
public class Alpha extends Base {
public static void main( String[] args ) {
new Alpha(); -----调用父类无参的构造方法
new Base();
}
}
结果是什么? B
A. Base
B. BaseBase
C. 编译失败.
D. 代码运行但没有输出.
E. 运行时抛出异常
11. 在J2EE中属于Web层的组件有: A
A.Servlet
B.EJB
C.Applet
D.HTML
12. 在Servlet的生命周期中,容器只调用一次的方法是: C
A.service
B.getServletConfig
C.init
D.destroy
- 以下关于异常的说法正确的是:D
A. 一旦出现异常,程序运行就终止了
B. 如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常
C. 在catch子句中匹配异常是一种精确匹配
D. 可能抛出系统异常的方法是不需要申明异常的
14. 如下代码:
public class Foo {
public static void main(String[] args) {
try {
return;
} finally {
System.out.println( "Finally" );
}
}
}
输出结果是什么? A
A. Finally
B.编译失败
C. 代码正常运行但没有任何输出.
D. 运行时抛出异常
二:简答题
- JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
- swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
- 如何利用ServletContext和ServletConfig对象获得初始化参数
String psw = config.getInitParameter("psw");
ServletContext ss = config.getServletContext();
String ppp = ss.getInitParameter("name");
1. 如何用css约束一个层不可见?
<div style="display:none"> </div> -----表示不可见
<div style="display:block"> </div>------表示可见
三.编程题
1. 写一个算法对1,8,5,2,4,9,7进行顺序排列。
public class OrderbyArray {
//冒泡排序 Bubble Sort 最简单的排序方法是冒泡排序方法
public int[] orderArray(int[] array){
for(int i=0;i<array.length;i++){
for(int j=i;j<array.length;j++){
if(array[i]>array[j]){
int s = array[i];
array[i] = array[j];
array[j] = s;
}
}
}
return array;
}
public static void main(String[] args) {
int [] array = {1,8,5,2,4,9,7};
OrderbyArray order = new OrderbyArray();
array = order.orderArray(array);
}
}
1. 写一段Jdbc连接Oracle的程序,并实现数据查询。
创建一个连接数据库的工具类
import java.sql.*;
public class DbUtil {
public static Connection getConnection(){
String driver = "";
String url = "";
String name = "scot";
String psw = "123";
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,name,psw);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
import java.sql.*;
public class SearchInfo {
public void searchInfo(int id){
Connection conn = null;
PreparedStatement pstat = null;
ResultSet res = null;
String sql = "select * from users where id=?";
conn = DbUtil.getConnection();
try {
pstat = conn.prepareStatement(sql);
pstat.setInt(1, id);
res = pstat.executeQuery();
while(res.next()){
String name = res.getString("name");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}