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

下載本文檔

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

文檔簡(jiǎn)介

1、選擇題(每題3分,共45分)1、下列程序編譯或運(yùn)行的結(jié)果是。( )D public static void main(String args)int a = 10;int b,c;if(a>50)b=9;c = b + a;System.out.println(c);A.10 B. 19 C. 9 D. 編譯錯(cuò)誤2、下列語(yǔ)句片段中,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 mai

2、n(String 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é)果是(

3、 ).Cpublic static 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 v

4、oid main(String 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)于下列代碼說(shuō)法正確的是( )Dpublic class Foopublic in

5、t add(int a,int 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)行,但無(wú)結(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

6、(t.x);public static void change(Test t)t.x = 3; A. 5B. 3C. 0D. 49、關(guān)于下列代碼書(shū)法正確的是 ( )B public class Apublic void doit()public String doit() return “a”;public double doit(int x) return 1.0; A. 無(wú)編譯錯(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)行

7、結(jié)果是( )DString test = “This is a test”;String tokens = test.split(“s”);System.out.println(tokens.length); A. 0B. 1C. 3D. 411、請(qǐng)看下列代碼( )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í)

8、行E. 第5行代碼成功執(zhí)行F. 不管如何第7行都會(huì)運(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、給出以下代碼,請(qǐng)問(wèn)該程序的運(yùn)行結(jié)果是什么?Dclass Example public static void main(String args)String s = new String( "Computer" );if( s = &q

9、uot;Computer" )System.out.println( "Equal A" );if( s.equals( "Computer" ) )System.out.println( "Equal B" );A、 代碼編譯失敗B、 打印輸出空白行C、 打印輸出:Equal A;D、 打印輸出:Equal BE、 打印輸出:Equal A和Equal B14、Java語(yǔ)言中, 通常把可能發(fā)生異常的方法調(diào)用語(yǔ)句放到_、_塊中,分別用來(lái)捕獲和處理異常。( )CA. try,finally;B. catch,try;C. tr

10、y,catchD. finally,try15、下列哪個(gè)語(yǔ)句可以獲取文件“file.txt”的父目錄名稱?( )DA. String name File.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

11、 result = 1;for(int i = 2; i <= 10; i+) System.out.println(“result=”+ result);答案:result *= i 或 result = result * i2、在Java的類中需要將一個(gè)成員變量設(shè)置成子類可訪問(wèn)并且包內(nèi)可訪問(wèn),則使用 訪問(wèn)修飾符來(lái)訪問(wèn)。答案:protected3、Java中所有類都是類 _的子類答案:java.lang.Object4、System.out prinln(4/3)的輸出結(jié)果為_(kāi),System.out prinln(4%3)的輸出結(jié)果為_(kāi).答案:1,15、Java語(yǔ)言中我們可以繼承 類或

12、實(shí)現(xiàn) 接口實(shí)現(xiàn)多線程。答案:Thread Runnable6、方法重載的條件中,參數(shù)只要滿足 、 、 中的任何一點(diǎn)即可。答案:順序不同、個(gè)數(shù)不同、類型不同簡(jiǎn)答題(共17分)1、請(qǐng)您簡(jiǎn)述Java語(yǔ)言中的面向?qū)ο蟮奶卣鞫加心男坎⒅饌€(gè)闡述。(8分)答案1.抽象:抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問(wèn)題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。一是過(guò)程抽象,二是數(shù)據(jù)抽象。過(guò)程抽象是指任何一個(gè)明確定義功能的操作都可被使用者看作單個(gè)的實(shí)體看待,盡管這個(gè)操作實(shí)際上可能由一系列更低級(jí)的操作來(lái)完成。數(shù)據(jù)抽象定義了數(shù)據(jù)類型和施加于該類型對(duì)象

13、上的操作,并限定了對(duì)象的值只能通過(guò)使用這些操作修改和觀察。2.繼承:繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過(guò)程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。3.封裝:封裝是面向?qū)ο蟮奶卣髦?,是?duì)象和類概念的主要特性。封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái),對(duì)數(shù)據(jù)的訪問(wèn)只能通過(guò)已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)

14、象通過(guò)一個(gè)受保護(hù)的接口訪問(wèn)其他對(duì)象。一旦定義了一個(gè)對(duì)象的特性,則有必要決定這些特性的可見(jiàn)性,即哪些特性對(duì)外部世界是可見(jiàn)的,哪些特性用于表示內(nèi)部狀態(tài)。在這個(gè)階段定義對(duì)象的接口。通常,應(yīng)禁止直接訪問(wèn)一個(gè)對(duì)象的實(shí)際表示,而應(yīng)通過(guò)操作接口訪問(wèn)對(duì)象,這稱為信息隱藏。事實(shí)上,信息隱藏是用戶對(duì)封裝性的認(rèn)識(shí),封裝則為信息隱藏提供支持。封裝保證了模塊具有較好的獨(dú)立性,使得程序維護(hù)修改較為容易。對(duì)應(yīng)用程序的修改僅限于類的內(nèi)部,因而可以將應(yīng)用程序修改帶來(lái)的影響減少到最低限度。4. 多態(tài)性:多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。比如同樣的加法,把兩個(gè)時(shí)間加在一起和把兩個(gè)整數(shù)加在一起肯定完全不同。又比如,同樣的

15、選擇編輯-粘貼操作,在字處理程序和繪圖程序中有不同的效果。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問(wèn)題。2、請(qǐng)說(shuō)出List,Set和Map三個(gè)接口存儲(chǔ)元素時(shí)各有什么特點(diǎn)?(9分)答案:List與Set具有相似性,它們都是單列元素的集合,它們有一個(gè)共同的父接口,叫做Collection。Set里面不允許有重復(fù)的元素,所謂重復(fù),即不能有兩個(gè)相等(不僅僅是相同)的對(duì)象,即假設(shè)Set集合中有了一個(gè)A對(duì)象,現(xiàn)在我要向Set集合再存入一個(gè)B對(duì)象,但B對(duì)象與A對(duì)象equals相等,則B對(duì)象存儲(chǔ)不進(jìn)去。Set集合的add方法有一個(gè)bo

16、olean的返回值,當(dāng)集合中沒(méi)有某個(gè)元素,此時(shí)add方法可成功加入該元素時(shí),則返回true,當(dāng)集合含有與某個(gè)元素equals相等的元素時(shí),此時(shí)add方法無(wú)法加入該元素,返回結(jié)果為false。List表示有先后順序的集合,當(dāng)我們多次調(diào)用add(Obj e)方法時(shí),每次加入的對(duì)象就像火車站買票有排隊(duì)順序一樣,按先來(lái)后到的順序排序。有時(shí)候,也可以插隊(duì),即調(diào)用add(int index,Obj e)方法,就可以指定當(dāng)前對(duì)象在集合中的存放位置。一個(gè)對(duì)象可以被反復(fù)存儲(chǔ)進(jìn)List中,每調(diào)用一次add方法,這個(gè)對(duì)象就被插入進(jìn)集合中一次,其實(shí),并不是把這個(gè)對(duì)象本身存儲(chǔ)進(jìn)了集合中,而是在集合中用一個(gè)索引變量指向這

17、個(gè)對(duì)象,當(dāng)這個(gè)對(duì)象被add多次時(shí),即相當(dāng)于集合中有多個(gè)索引指向了這個(gè)對(duì)象。Map與List和Set不同,它是雙列的集合,其中有put方法,定義如下:put(obj key,objvalue),每次存儲(chǔ)時(shí),要存儲(chǔ)一對(duì)key/value,不能存儲(chǔ)重復(fù)的key,這個(gè)重復(fù)的規(guī)則也是按equals比較相等。取則可以根據(jù)key獲得相應(yīng)的value,即get(Object key)返回值為key所對(duì)應(yīng)的value。編程題(共18分)1、請(qǐng)閱讀下列程序,并寫出其運(yùn)行結(jié)果:(6分)public class Testpublic static void main(String args)Son s = new S

18、on();class ParentSystem.out.println(“A”);staticSystem.out.println(“B”);public 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. public class Sin

19、gleton   2.     private static Singleton instance;  3.     private Singleton ()  4.   5.     public static Singleton getInstance()   6. 

20、0;   if (instance = null)   7.         instance = new Singleton();  8.       9.     return instance;  10.       11.   餓漢式:1. public class Singleton   2.     private static Singleton instance = new Singleton();  3.     private Singleton

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論