Java程序員筆試題

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

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

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

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

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

  D.以上都不正確

  2. 提供Java存取數(shù)據(jù)庫(kù)能力的包是。( 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. 下面的語(yǔ)句中正確的表達(dá)式為。( C )

   b = 128;

  n n = null;

   d = 0.9239d;

   f = 0.9239;

  5. 將一個(gè)十六進(jìn)制值賦給一個(gè)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.不能編譯通過(guò)

  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.編譯成功但在第三行會(huì)出現(xiàn)異常 C.0 D.3

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

  int index = 1;

  boolean[] test = new Boolean[3];

  boolean foo= test [index];

  A.有異常拋出。

  B.無(wú)法編譯。

  的值是0。

  的值是null。

  的值是true。

  的值是false。

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

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

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

  1. 在下面的選項(xiàng)中合法的標(biāo)識(shí)符有。( ADEF )

  A._ok

  B.*point

  

  D.$byte

  

  F.ILikeJLCSS

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

  A.TRUE

  

  

  

  

  

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

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

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

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

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

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

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

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

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

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

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

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

  B. 局部變量也叫自動(dòng)變量。

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

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

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

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

  答:public Class Hello World

  {

  Public static void main(String[]args)

  {

  ln(“HELLO WOTLD”);

  }

  }

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

  答:能存儲(chǔ)一個(gè)漢字;因?yàn)樗艽鎯?chǔ)四個(gè)字節(jié)而每個(gè)漢字只占兩個(gè)字節(jié)。

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

  答:常見(jiàn)的兩種有:SAX和DOM。

  區(qū)別:SAX 是一種事件驅(qū)動(dòng)的xml解析方式。每次訪問(wèn)一個(gè)xml文件中的某個(gè)節(jié)點(diǎn)的時(shí)候,sax就會(huì)搜索一遍xml文件,在找到相應(yīng)的節(jié)點(diǎn)后就會(huì)觸發(fā)一個(gè)事件來(lái)處理請(qǐng)求。只讀

  DOM是一種基于樹(shù)狀的查找方式。DOM會(huì)將xml解析成一棵樹(shù),存在內(nèi)存中。開(kāi)發(fā)者可以通過(guò)查找樹(shù)的節(jié)點(diǎn)來(lái)取得文件的內(nèi)容或者修改內(nèi)容??勺x寫

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

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

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

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

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

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

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

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

  答:作用域 當(dāng)前類 同一package 子孫類 其他package

  public √ √ √ √

  protected √ √ √ ×

  friendly √ √ × ×

  private √ × × ×

  不寫時(shí)默認(rèn)為friendly

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

  1. 什么是Singleton,它的作用是什么,它有幾種形式?請(qǐng)用代碼寫出一個(gè)Singleton類。

  答:Java Singleton 模式用來(lái)保證在運(yùn)行的應(yīng)用程序中,一個(gè)Class只是實(shí)例化一次,也就是只有一個(gè)相應(yīng)的對(duì)象存在。

  它有三種形式

  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的組合框架模式中,三者各自的特點(diǎn)都是什么?

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