Java程序員筆試題

  一、單項選擇題(共10題,每題2分,共20分)

  1. 下列說法哪一個是正確的。( B )

  A.Java程序經(jīng)編譯后會產(chǎn)生machine code

  B.Java程序經(jīng)編譯后會產(chǎn)生byte code

  C.Java程序經(jīng)編譯后會產(chǎn)生DLL

  D.以上都不正確

  2. 提供Java存取數(shù)據(jù)庫能力的包是。( A )

  

  3. 執(zhí)行如下程序代碼后,C的值是。( C )

  a=0;c=0;

  do{

  --c;

  a=a-1;

  }while(a>0);

  A.0 B.1 C.-1 D.死循環(huán)

  4. 下面的語句中正確的表達式為。( C )

   b = 128;

  n n = null;

   d = 0.9239d;

   f = 0.9239;

  5. 將一個十六進制值賦給一個long型變量的正確寫法為。( D )

   number = 345L;

   number = 0345;

   number = 0345L;

   number = 0x345L;

  6. 以下程序代碼的輸出是。( B )

  public class test (

  public static void main (String args[]) (

  In (6 ^ 3);

  )

  )

  A.3 B.5 C.6 D.11

  7. 以下程序代碼的輸出是。(E )

  public class test (

  private static int j = 0;

  private static boolean methodB(int k) (

  j += k;

  return true;

  )

  public static void methodA(int i) {

  boolean b:

  b = i < 10 | methodB (4);

  b = i < 10 || methodB (8);

  )

  public static void main (String args[] } (

  methodA (0);

  In(j);

  )

  )

  A.0 B.4 C.8 D.12 E.不能編譯通過

  8. 以下程序代碼的輸出是。( A)

  public class test {

  public static void add3 (Integer i) }

  int val = Value ( );

  val += 3;

  i = new Integer (val);

  }

  public static void main (String args [ ] ) {

  Integer i = new Integer (0);

  add3 (i);

  In (Value ( ) );

  }

  )

  A.編譯失敗 B.編譯成功但在第三行會出現(xiàn)異常 C.0 D.3

  9. 以下程序代碼執(zhí)行后,哪個說法正確?( B )

  int index = 1;

  boolean[] test = new Boolean[3];

  boolean foo= test [index];

  A.有異常拋出。

  B.無法編譯。

  的值是0。

  的值是null。

  的值是true。

  的值是false。

  10. 以下哪個類是swt包中的。( D )

  A.MessageBox B.MessageDialog C.JDialog D.DisplayMode

  二、多項選擇題(共5題,每題4分,共20分)

  1. 在下面的選項中合法的標識符有。( ADEF )

  A._ok

  B.*point

  

  D.$byte

  

  F.ILikeJLCSS

  2. 下面的選項中哪些不是java的關(guān)鍵字。( AB D )

  A.TRUE

  

  

  

  

  

  3. 下面的敘述中正確的有。( AC )

  A. 環(huán)境變量可在編譯source code時指定。

  B. 在編譯程序時,所能指定的環(huán)境變量不包括class path。

  C. javac一次可同時編譯數(shù)個Java源文件。

  D. 能指定編譯結(jié)果要置于哪個目錄(directory)。

  4. 下面的敘述中正確的有。( C )

  ()方法判定引用值是否指向同一對象。

  B.= = 操作符判定兩個分立的對象的內(nèi)容和類型是否一致。

  ()方法只有在兩個對象的內(nèi)容一致時返回true。

  D.類File重寫方法equals()在兩個分立的對象的內(nèi)容和類型一致時返回true。

  5. 下面有關(guān)變量及其作用域的陳述哪些是對的。( A C )

  A. 在方法里面定義的局部變量在方法退出的時候被撤銷。

  B. 局部變量也叫自動變量。

  C. 在方法外面定義的變量(譯注:即實例變量)在對象被構(gòu)造時創(chuàng)建。

  D. 在方法中定義的方法的參變量只要該對象被需要就一直存在。

  三、簡答題(共7題,共40分)

  1. 請寫出一個輸出“Hello World!” 的程序。(3分)

  答:public Class Hello World

  {

  Public static void main(String[]args)

  {

  ln(“HELLO WOTLD”);

  }

  }

  2. char型變量中能不能存貯一個中文漢字? 為什么? (3分)

  答:能存儲一個漢字;因為它能存儲四個字節(jié)而每個漢字只占兩個字節(jié)。

  3. 常見的兩種xml解析技術(shù)是什么? 區(qū)別是什么? (4分)

  答:常見的兩種有:SAX和DOM。

  區(qū)別:SAX 是一種事件驅(qū)動的xml解析方式。每次訪問一個xml文件中的某個節(jié)點的時候,sax就會搜索一遍xml文件,在找到相應的節(jié)點后就會觸發(fā)一個事件來處理請求。只讀

  DOM是一種基于樹狀的查找方式。DOM會將xml解析成一棵樹,存在內(nèi)存中。開發(fā)者可以通過查找樹的節(jié)點來取得文件的內(nèi)容或者修改內(nèi)容。可讀寫

  4. MVC是什么,如何實現(xiàn)? (5分)

  答:MVC是一個是一個設(shè)計模式,它強制性的使應用程序的輸入,處理和輸出分開。使用MVC應用程序被分為三個核心部件:M----------MODO模型,V ----------VIEW 試圖,C --------- Contral控制

  實現(xiàn):首先有頁面(jsp)發(fā)送請求給控制器(servlet),然后由控制器接收用戶的請求,并決定應該調(diào)用哪個模型(javabean)來進行處理,然后模型用業(yè)務邏輯來處理用戶的請求并返回數(shù)據(jù),最后控制器用相應的視圖格式化模型返回的數(shù)據(jù),并通過表示層顯示給用戶。

  5. .J2EE是什么?(6分)

  答:J2EE 是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件(component-base)的企業(yè)級應用模型 (enterpriese application model).在這樣的一個應用系統(tǒng)中,可按照功能劃分為不同的組件,這些組件又可在不同計算機上,并且處于相應的層次(tier)中。所屬層次包括客戶層(clietn tier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。

  6. jsp有哪些內(nèi)置對象?作用分別是什么? (9分)

  答:t 用戶端請求,此請求會包含來自GET/POST請求的參數(shù);se 網(wǎng)頁傳回用戶端的回應;Context 網(wǎng)頁的屬性是在這里管理;n 與請求有關(guān)的會話期;ation servlet 正在執(zhí)行的內(nèi)容; 用來傳送回應的輸出; servlet的構(gòu)架部件; JSP網(wǎng)頁本身;ion 針對錯誤網(wǎng)頁,未捕捉的例外

  7. 作用域public,private,protected,以及不寫時的區(qū)別 ?(10分)

  答:作用域 當前類 同一package 子孫類 其他package

  public √ √ √ √

  protected √ √ √ ×

  friendly √ √ × ×

  private √ × × ×

  不寫時默認為friendly

  四、編碼及論述題(共2題,每題10分,共20分)

  1. 什么是Singleton,它的作用是什么,它有幾種形式?請用代碼寫出一個Singleton類。

  答:Java Singleton 模式用來保證在運行的應用程序中,一個Class只是實例化一次,也就是只有一個相應的對象存在。

  它有三種形式

  public class Singleton

  {

  private static Singleton instance = null;

  public static synchronized Singleton getInstance()

  {

  if (instance==null)

  instance=new Singleton();

  return instance;

  }

  }

  2. 在Struts + Spring + Hibernate的組合框架模式中,三者各自的特點都是什么?

  答:Strtus WEB層 Spring是業(yè)務層 Hiebenate是持久化層