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();

    }

   }

}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM