Java考試題+答案_第1頁
Java考試題+答案_第2頁
Java考試題+答案_第3頁
Java考試題+答案_第4頁
Java考試題+答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、選擇題(每題3分,共45分)1、下列程序編譯或運(yùn)行的結(jié)果是。( )D public static void main(String args)int a = 10;int b,c;if(a50)b=9;c = b + a;System.out.println(c);A.10 B. 19 C. 9 D. 編譯錯(cuò)誤2、下列語句片段中,four的值為 ( )Dint three = 3;char one = 1;char four = (char)(three+one); A. 3 B. 1 C. 31 D. 4 3、下列代碼的運(yùn)行結(jié)果是 ( )Dpublic static void main(St

2、ring args)int a = 7;System.out.println(a%3);A2.0 B2 C1.0 D14、以下程序的輸出結(jié)果為( )。Dpublic static void main(String args) int x = 1, y = 1, z =1;if(x-=1&y-=1|z-=1)System.out.println(“x=” +x+”, y=” +y+”, z=” +z); A. x=0, y=1, z=1 B. x=0, y=2, z=2 C. x=0, y=2, z=1 D. x=0, y=0, z=15、下列代碼段編譯和運(yùn)行的結(jié)果是( ).Cpublic st

3、atic void main(String args)String str = “null”;if(str=null)System.out.println(“null”);else if(str.length()=0)System.out.println(“zero”); else System.out.println(“some”); A. null B. zero C. some D. 編譯錯(cuò)誤6、下列代碼的運(yùn)行結(jié)果是( ):Dpublic class Animalpublic String noise()return “peep”;public static void main(Stri

4、ng args)Animal animal = new Dog();Cat cat = (Cat)animal;System.out.println(cat.noise();class Dog extends Animalpublic String noise()return “bark”;class Cat extends Animalpublic String noise()return “meow”; A. peepB. barkC. meowD. 編譯錯(cuò)誤E. 拋出運(yùn)行時(shí)異常7、關(guān)于下列代碼說法正確的是( )Dpublic class Foopublic int add(int a,i

5、nt b)return a+b;public static void main(String args)Foo foo = null;System.out.println(foo.add(10,20); A. 編譯錯(cuò)誤 B. 正常運(yùn)行,但無結(jié)果輸出 C.30 D.運(yùn)行時(shí)拋出NullPointerException8、程序的執(zhí)行結(jié)果是 ( )Bpublic class Testint x;public static void main(String args)Test t = new Test();t.x = 5;change(t);System.out.println(t.x);public

6、static void change(Test t)t.x = 3; A. 5B. 3C. 0D. 49、關(guān)于下列代碼書法正確的是 ( )B public class Apublic void doit()public String doit() return “a”;public double doit(int x) return 1.0; A. 無編譯錯(cuò)誤B. 代碼public String doit()行,出現(xiàn)編譯錯(cuò)誤C. 代碼public double doit(int x)行,出現(xiàn)編譯錯(cuò)誤D. 代碼return “a”;行處 出現(xiàn)編譯錯(cuò)誤10、下列代碼的運(yùn)行結(jié)果是( )DString

7、 test = “This is a test”;String tokens = test.split(“s”);System.out.println(tokens.length); A. 0B. 1C. 3D. 411、請看下列代碼( )A1 /some code here2 try3 /some code here4 catch(SomeException se)5 /some code here6 finally7/some code here8下面那種情況不能使第7行的代碼執(zhí)行:A. 第1行拋出異常B. 第3行拋出異常C. 第5行拋出異常D. 第3行代碼成功執(zhí)行E. 第5行代碼成功執(zhí)行

8、F. 不管如何第7行都會運(yùn)行12、Java中單一文件里的關(guān)鍵字class import package 出現(xiàn)的順序應(yīng)為:( )CA. class package importB. class import packageC. package import classD. import package class13、給出以下代碼,請問該程序的運(yùn)行結(jié)果是什么?Dclass Example public static void main(String args)String s = new String( Computer );if( s = Computer )System.out.printl

9、n( Equal A );if( s.equals( Computer ) )System.out.println( Equal B );A、 代碼編譯失敗B、 打印輸出空白行C、 打印輸出:Equal A;D、 打印輸出:Equal BE、 打印輸出:Equal A和Equal B14、Java語言中, 通常把可能發(fā)生異常的方法調(diào)用語句放到_、_塊中,分別用來捕獲和處理異常。( )CA. try,finally;B. catch,try;C. try,catchD. finally,try15、下列哪個(gè)語句可以獲取文件“file.txt”的父目錄名稱?( )DA. String name F

10、ile.getParentName(“file.txt”);B. String name (new File(“file.txt”).getParent();C. String name (new File(“file.txt”).getParentName();D. String name (new File(“file.txt”).getParentFile();填空題(每空2分,共20分)1、完成代碼計(jì)算10的階乘并輸出,把下面代碼補(bǔ)全:int result = 1;for(int i = 2; i = 10; i+) System.out.println(“result=”+ resu

11、lt);答案:result *= i 或 result = result * i2、在Java的類中需要將一個(gè)成員變量設(shè)置成子類可訪問并且包內(nèi)可訪問,則使用 訪問修飾符來訪問。答案:protected3、Java中所有類都是類 _的子類答案:java.lang.Object4、System.out prinln(4/3)的輸出結(jié)果為_,System.out prinln(4%3)的輸出結(jié)果為_.答案:1,15、Java語言中我們可以繼承 類或?qū)崿F(xiàn) 接口實(shí)現(xiàn)多線程。答案:Thread Runnable6、方法重載的條件中,參數(shù)只要滿足 、 、 中的任何一點(diǎn)即可。答案:順序不同、個(gè)數(shù)不同、類型不同

12、簡答題(共17分)1、請您簡述Java語言中的面向?qū)ο蟮奶卣鞫加心男坎⒅饌€(gè)闡述。(8分)答案1.抽象:抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。一是過程抽象,二是數(shù)據(jù)抽象。過程抽象是指任何一個(gè)明確定義功能的操作都可被使用者看作單個(gè)的實(shí)體看待,盡管這個(gè)操作實(shí)際上可能由一系列更低級的操作來完成。數(shù)據(jù)抽象定義了數(shù)據(jù)類型和施加于該類型對象上的操作,并限定了對象的值只能通過使用這些操作修改和觀察。2.繼承:繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了一種明確表述共性的方法。對

13、象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。3.封裝:封裝是面向?qū)ο蟮奶卣髦?,是對象和類概念的主要特性。封裝是把過程和數(shù)據(jù)包圍起來,對數(shù)據(jù)的訪問只能通過已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個(gè)受保護(hù)的接口訪問其他對象。一旦定義了一個(gè)對象的特性,則有必要決定這些特性的可見性,即哪些特性對外部世界是可見的,哪些特性用于表示內(nèi)部狀態(tài)。在這個(gè)

14、階段定義對象的接口。通常,應(yīng)禁止直接訪問一個(gè)對象的實(shí)際表示,而應(yīng)通過操作接口訪問對象,這稱為信息隱藏。事實(shí)上,信息隱藏是用戶對封裝性的認(rèn)識,封裝則為信息隱藏提供支持。封裝保證了模塊具有較好的獨(dú)立性,使得程序維護(hù)修改較為容易。對應(yīng)用程序的修改僅限于類的內(nèi)部,因而可以將應(yīng)用程序修改帶來的影響減少到最低限度。4. 多態(tài)性:多態(tài)性是指允許不同類的對象對同一消息作出響應(yīng)。比如同樣的加法,把兩個(gè)時(shí)間加在一起和把兩個(gè)整數(shù)加在一起肯定完全不同。又比如,同樣的選擇編輯-粘貼操作,在字處理程序和繪圖程序中有不同的效果。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢,很好的解

15、決了應(yīng)用程序函數(shù)同名問題。2、請說出List,Set和Map三個(gè)接口存儲元素時(shí)各有什么特點(diǎn)?(9分)答案:List與Set具有相似性,它們都是單列元素的集合,它們有一個(gè)共同的父接口,叫做Collection。Set里面不允許有重復(fù)的元素,所謂重復(fù),即不能有兩個(gè)相等(不僅僅是相同)的對象,即假設(shè)Set集合中有了一個(gè)A對象,現(xiàn)在我要向Set集合再存入一個(gè)B對象,但B對象與A對象equals相等,則B對象存儲不進(jìn)去。Set集合的add方法有一個(gè)boolean的返回值,當(dāng)集合中沒有某個(gè)元素,此時(shí)add方法可成功加入該元素時(shí),則返回true,當(dāng)集合含有與某個(gè)元素equals相等的元素時(shí),此時(shí)add方法無

16、法加入該元素,返回結(jié)果為false。List表示有先后順序的集合,當(dāng)我們多次調(diào)用add(Obj e)方法時(shí),每次加入的對象就像火車站買票有排隊(duì)順序一樣,按先來后到的順序排序。有時(shí)候,也可以插隊(duì),即調(diào)用add(int index,Obj e)方法,就可以指定當(dāng)前對象在集合中的存放位置。一個(gè)對象可以被反復(fù)存儲進(jìn)List中,每調(diào)用一次add方法,這個(gè)對象就被插入進(jìn)集合中一次,其實(shí),并不是把這個(gè)對象本身存儲進(jìn)了集合中,而是在集合中用一個(gè)索引變量指向這個(gè)對象,當(dāng)這個(gè)對象被add多次時(shí),即相當(dāng)于集合中有多個(gè)索引指向了這個(gè)對象。Map與List和Set不同,它是雙列的集合,其中有put方法,定義如下:put

17、(obj key,objvalue),每次存儲時(shí),要存儲一對key/value,不能存儲重復(fù)的key,這個(gè)重復(fù)的規(guī)則也是按equals比較相等。取則可以根據(jù)key獲得相應(yīng)的value,即get(Object key)返回值為key所對應(yīng)的value。編程題(共18分)1、請閱讀下列程序,并寫出其運(yùn)行結(jié)果:(6分)public class Testpublic static void main(String args)Son s = new Son();class ParentSystem.out.println(“A”);staticSystem.out.println(“B”);public

18、 Parent()System.out.println(“C”);class Son extends ParentSystem.out.println(“D”);staticSystem.out.println(“E”);public Son()System.out.println(“F”);答案:BEACDF2、寫出一種實(shí)現(xiàn)單例的方式?(懶漢式,餓漢式任選一種)(6分)答案:懶漢式:1. publicclassSingleton2. privatestaticSingletoninstance;3. privateSingleton()4. 5. publicstaticSingletongetInstance()6. if(insta

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論