凱文斯軟件研發(fā)工程師(JAVA)筆試習(xí)題_答案_第1頁
凱文斯軟件研發(fā)工程師(JAVA)筆試習(xí)題_答案_第2頁
凱文斯軟件研發(fā)工程師(JAVA)筆試習(xí)題_答案_第3頁
凱文斯軟件研發(fā)工程師(JAVA)筆試習(xí)題_答案_第4頁
凱文斯軟件研發(fā)工程師(JAVA)筆試習(xí)題_答案_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、軟件研發(fā)工程師 筆試題姓 名:             請在60分鐘內(nèi)作答一、選擇題1、哪個類是所有異常的基礎(chǔ)類? CAString BError CThrowable DRuntimeException 2、設(shè)float x = 1,y = 2,z = 3,則表達(dá)式 y+=z-/+x的值是:(A)      A. 3.5      B. 3    

2、;   C. 4        D. 53、下列說法正確的是(B )A在類方法中可用this來調(diào)用本類的類方法 B在類方法中調(diào)用本類的類方法時可直接調(diào)用C在類方法中只能調(diào)用本類中的類方法 D在類方法中絕對不能調(diào)用實(shí)例方法4、根據(jù)下面的程序代碼,哪些選項(xiàng)的值返回true public class Square long width; public Square(long l) width = l; public static void main(String arg) Square a, b, c; a =

3、 new Square(42L); b = new Square(42L); c = b; long s = 42L; Aa = b; Bs = a; Cb = c; Da.equals(s) equals()是Object類的一個方法,指示某個其他對象是否與此對象“相等”。由于類 Object 是類層次結(jié)構(gòu)的根類。所以它是每個類的超類。所示每個類都可以重寫equals()方法,如String類。如果沒有重寫(override)新類的equals(),則該方法和 = 操作符一樣在兩個變量指向同一對象時返回真,但是Java推薦的是使用equals()方法來判斷兩個對象的內(nèi)容是否一樣??疾臁?”及

4、方法“equals()”的用法。注意以下幾點(diǎn)區(qū)別。 q 引用類型比較引用;基本類型比較值。 q equals()方法只能比較引用類型,“=”可比較引用及基本類型。 q 用equals()方法進(jìn)行比較時,對類File、String、Date及封裝類(Wrapper Class)來說,是比較類型及內(nèi)容。 q 用“=”進(jìn)行比較時,符號兩邊的數(shù)據(jù)類型必須一致(可相互轉(zhuǎn)換的基本類型除外),否則編譯出錯。 在此題中,因?yàn)閍,b,c是三個對象面,但是c=b這條語句,將c的內(nèi)存地址指向了b,所以c和b指向了同一個地址,相當(dāng)于c和b是同一個對象,由于= 操作符只有當(dāng)兩個變量指向同一對象時返回真,故C是正確的。5

5、. 下面選項(xiàng)中,哪個選項(xiàng)的內(nèi)容可以作為FileInputStream類的構(gòu)造方法的參數(shù)? AFile BString CInputStream DFileOutputStream主要參考FileInputStream的構(gòu)造方法,F(xiàn)ileInputStream類的構(gòu)造方法有3個,可接受的參數(shù)分別是:File、FileDescriptor、String類的一個對象6. 在下面程序標(biāo)明的位置處插入哪條語句會導(dǎo)致編譯錯誤? public class FinalUse public static void main(String args) int x = 0; final int y = 1; int

6、 z = 2 ; final int n = 3 ; Use(x, y, z, n); static void Use(final int x, int y, final int z, int n) / 插入內(nèi)容 請選擇兩個正確的答案: Ax+ By+ Cy=x Dz0+ En0+ Fz=n 【試題分析】聲明形參的時候可以在方法調(diào)用的參數(shù)調(diào)用之前加上關(guān)鍵字final。final參數(shù)也可以叫做空白最終變量,也可以當(dāng)作常量。即在對其賦值之前(例如方法調(diào)用之前),該變量為空(為初始化),賦值之后,在該變量的生存周期內(nèi)只能調(diào)用再也不能改變變量的值。final變量只可以被賦值一次。在方法調(diào)用時,fina

7、l形式參數(shù)被賦予實(shí)際參數(shù)的值。在方法內(nèi)部,不能對final參數(shù)進(jìn)行重新賦值或者是修改。 在Use方法中,x是final類型的,因此A選項(xiàng)中x+表示是可以改變x的值的,所以A會導(dǎo)致編譯錯誤。y,n0是int變量,所以y, n0值是可以變化的,因此插入B和E選項(xiàng)都會編譯通過的。C選項(xiàng)是把x的值賦給y,改變是y的內(nèi)容,不會改變x的值,所以插入C選項(xiàng)會編譯通過的。在D選項(xiàng)中,由于z是個int型數(shù)組,它是屬于復(fù)合類型,在進(jìn)行值傳遞的時候,傳給形參的是地址值,而不是內(nèi)容,因此final int z就表示z數(shù)組不能在指向其他的數(shù)組對象,但是z數(shù)組中的內(nèi)容是可以改變的,因此z0+表示的是內(nèi)容上的改變,所以是沒

8、有錯誤的,可以編譯通過的。F選項(xiàng)正好與D選項(xiàng)相反,同理,F(xiàn)就是錯誤的。 【參考答案】AF7下面程序運(yùn)行后的結(jié)果是什么?Public class TestStatic Boolean foo(char c)System.out.print(c);Return true; Public static void main(String argv)int i=0; For(foo(A);foo(B)&&(i<2);foo(C)i+; foo(D); AABDCBDCB BABCDABCDCCompilation fails. DAn exception is thrown at

9、runtime.二、代碼查錯1.abstract class Name    private String name;   public abstract boolean isStupidName(String name) 解釋何錯誤 并更正大括號錯誤2. public class Something public static void main(String args) Something s = new Something();S

10、ystem.out.println("s.doSomething() returns " + doSomething();public String doSomething() return "Do something ." 答案: 錯??瓷先ピ趍ain里call doSomething沒有什么問題,畢竟兩個methods都在同一個class里。但仔細(xì)看,main是static的。static method不能直接call non-static methods。可改成"System.out.println("s.doSomething

11、() returns " + s.doSomething();"。同理,static method不能訪問non-static instant variable。三、簡答題1、談?wù)凜ollection 和Collections2、請說出String與StringBuffer、StringBuilder的區(qū)別String的長度是不可變的,StringBuffer的長度是可變的。如果你對字符串中的內(nèi)容經(jīng)常進(jìn)行操作,特別是內(nèi)容要修改時,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法。3、abstract cl

12、ass(抽象類)和interface(接口)有什么區(qū)別【試題分析】抽象類的特征如下: q 抽象類和抽象方法都必須用abstract關(guān)鍵字來修飾。 q 抽象類不能被實(shí)例化,也就是不能用new關(guān)鍵字去產(chǎn)生對象。 q 抽象方法只需聲明,而不需實(shí)現(xiàn)。 q 抽象方法必須定義在抽象類中,抽象類的子類必須實(shí)現(xiàn)父類中的抽象方法,否則這個子類還是個抽象類。 接口的特征如下: q 接口沒有構(gòu)造方法。 q 接口中聲明變量均為終極(final)的、靜態(tài)(static)的和公共(public)的。 q 接口是定義的方法均為抽象的和公共的。 q 接口里的數(shù)據(jù)成員必須初始化,且數(shù)據(jù)成員均為常量。 【參考答案】聲明方法的存在

13、而不去實(shí)現(xiàn)它的類被叫做抽象類(abstract class),它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實(shí)例。然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實(shí)現(xiàn),否則它們也是抽象類為。取而代之,在子類中實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中實(shí)現(xiàn)這些方法。 接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體

14、。接口只可以定義static final成員變量。接口的實(shí)現(xiàn)與子類相似,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯(lián)編將生效4、request.getAttribute() 和 request.getParameter() 有何區(qū)別?5、簡述下Servlet生命周期6、 談?wù)勀沩?xiàng)目中用到的設(shè)計模式及如何使用的7、你一般用spring、hibernate、struts做什么?四、代碼實(shí)現(xiàn)1、編寫SQL語句Student(

15、S#,Sname,Sage,Ssex) 學(xué)生表 Course(C#,Cname,T#) 課程表 SC(S#,C#,score) 成績表 Teacher(T#,Tname) 教師表1) 查詢平均成績大于60分的同學(xué)的學(xué)號和平均成績select S#,avg(score)from scgroup by S# having avg(score) >60;2) 查詢所有同學(xué)的學(xué)號、姓名、選課數(shù)、總成績;select Student.S#,Student.Sname,count(SC.C#),sum(score)from Student left Outer join SC on Student.

16、S#=SC.S#group by Student.S#,Sname 3) 查詢沒學(xué)過“葉平”老師課的同學(xué)的學(xué)號、姓名select Student.S#,Student.Snamefrom Studentwhere S# not in (select distinct( SC.S#) from SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname=葉平);2、第1個人10,第2個比第1個人大2歲,依次遞推,請用遞歸方式計算出第8個人多大?用java語言實(shí)現(xiàn),請編一段程序?qū)崿F(xiàn)!packa

17、ge cn.itcast;import java.util.Date; publicclass A1 public static voidmain(String args) System.out.println(computeAge(8); public static int computeAge(intn) if(n=1)return 10; returncomputeAge(n-1) + 2; public static voidtoBinary(int n,StringBuffer result) if(n/2 != 0) toBinary(n/2,result); result.app

18、end(n%2); 3、實(shí)現(xiàn)一個快速排序 本人只研究過冒泡排序、選擇排序和快速排序,下面是快速排序的代碼:public class QuickSort /* 快速排序* param strDate* param left* param right*/public void quickSort(String strDate,int left,int right)String middle,tempDate;int i,j;i=left;j=right;middle=strDate(i+j)/2;dowhile(strDpareTo(middle)<0&& i<right)i+; /找出左邊比中間值大的數(shù)while(strDatej.c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論