JAVA笔试面试题及答案

Java考试题

一:单选题

  1. 下列哪一种叙述是正确的(D
    A. abstract修饰符可修饰字段、方法和类
    B. 抽象方法的body部分必须用一对大括号{ }包住
    C. 声明抽象方法,大括号可有可无
    D. 声明抽象方法不可写出大括号
  2. 如下代码
    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. 编译失败
  3. 下列哪种说法是正确的( D
      A. 实例方法可直接调用超类的实例方法
      B. 实例方法可直接调用超类的类方法
      C. 实例方法可直接调用其他类的实例方法
      D. 实例方法可直接调用本类的类方法
  4. 如下代码:
    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. 编译失败.---------重定时不能改变返回类型
  5. 在Servlet处理请求的方式为:   C
    A.以进程的方式
    B.以程序的方式
    C.以线程的方式
    D.以响应的方式
  6. JDBC中,用于表示数据库连接的对象是:   B
    A.Statement
    B.Connection
    C.DriverManager
    D.PreparedStatement
  7. 用于调用存储过程的对象是:   C
    A.ResultSet
    B.DriverManager
    C.CallableStatemet
    D.PreparedStatement
  8. 按照MVC设计模式,JSP用于实现:   B
    A.Model
    B.View
    C.Controller
    D.容器
  9. 如下代码
    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行被创建后, 什么时候能够被垃圾回收?   C
    A. 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

  1. 以下关于异常的说法正确的是: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. 运行时抛出异常

二:简答题

  1. JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 

JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

 

  1. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

  1. 如何利用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();

    }

   }

}

  

posted @ 2019-07-23 19:25  过时--书生  阅读(5677)  评论(6编辑  收藏  举报