Java基礎(chǔ)測(cè)試題(答案).doc
《Java基礎(chǔ)測(cè)試題(答案).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《Java基礎(chǔ)測(cè)試題(答案).doc(12頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1. 有以下程序片段,下列哪個(gè)選項(xiàng)不能插入到行1。( D ) 1. 2.public class Interesting{ 3.//do sth 4. } (只能有一個(gè)public修飾的class) A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 2. 以下哪項(xiàng)是接口的正確定義?( B D ) A、 interface B { void print(){};} (接口里的方法都是抽象的,不能有方法體) B、 abstract interface B { void print() ;} C、 abstract interface B extends A1,A2 //A1、A2為已定義的接口 { abstract void print(){ };} (同上) D、 interface B { void print();} 1.接口可以聲明為public(公共)或默認(rèn)的訪問權(quán)限。接口隱含表明是抽象的(abstract)的。 2.接口的方法默認(rèn)即為public(公共)且是abstract(抽象)的. 3.接口中的變量默認(rèn)即為public(公共), static(靜態(tài)) and final(最終的)。 接口聲明 編譯器如何解釋呢 public interface Searchable {} public abstract interface Searchable {} abstract interface Searchable {} abstract interface Searchable {} interface Searchable {} abstract interface Searchable {} void search(String searchString); public abstract void search(String searchString); abstract void search(String searchString); public abstract void search(String searchString); public void search(String searchString); public abstract void search(String searchString); char MATCH_ONLY_ONE = ‘?’; public static final char MATCH_ONLY_ONE = ‘?’; public char MATCH_ONLY_ONE = ‘?’; public static final char MATCH_ONLY_ONE = ‘?’; static MATCH_ONLY_ONE = ‘?’; public static final char MATCH_ONLY_ONE = ‘?’; final char MATCH_ONLY_ONE = ‘?’; public static final char MATCH_ONLY_ONE = ‘?’; final public char MATCH_ONLY_ONE = ‘?’; public static final char MATCH_ONLY_ONE = ‘?’; 3. 下面哪個(gè)函數(shù)是public void aMethod(){...}的重載函數(shù)?( D ) A、void aMethod( ){...} B、public int aMethod(){...} C、public void aMethod ( ){...} D、public int aMethod ( int m){...} (重載:定義同名的方法,方法的形式參數(shù)個(gè)數(shù)、類型或順序各不相同,傳回的值也可以不相同) 4. A派生出子類B,B派生出子類C,并且在Java源代碼中有如下聲明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C(); 問以下哪個(gè)說法是正確的? ( D ) A、只有第1行能通過編譯 B、第1、2行能通過編譯,但第3行編譯出錯(cuò) C、第1、2、3行能通過編譯,但第2、3行運(yùn)行時(shí)出錯(cuò) D、第1行、第2行和第3行的聲明都是正確的 (A是B的父類,也算是C的父類) 5. 假設(shè)A類有如下定義,設(shè)a是A類的一個(gè)實(shí)例,下列語句調(diào)用哪個(gè)是錯(cuò)誤的?( C ) A a = new A(); class A { int i; static String s; void method1() { } static void method2() { } } A、System.out.println(a.i);B、a.method1(); C、A.method1(); D、A.method2() ;(A是類名,應(yīng)該調(diào)用對(duì)象a) 6. 有如下代碼段: 1) 2) { if(unsafe()){//do something…} 3) else if(safe()){//do the other…} 4) } 其中,方法unsafe() 將拋出IOException, 請(qǐng)問可將以下哪項(xiàng)填入第1行?( D ) A、 public IOException methodName() B、 public void methodName() C、public void methodName() throw IOException D、public void methodName() throws IOException 7. Java的字符類型采用的是Unicode編碼方案,每個(gè)Unicode碼占用( C )個(gè)比特位。 byte A、8 B、16 C、32 D、64 8. 以下關(guān)于繼承的敘述正確的是( A )。 A、在Java中類只允許單一繼承 B、在Java中一個(gè)類只能實(shí)現(xiàn)一個(gè)接口 (可以實(shí)現(xiàn)多個(gè)接口) C、在Java中一個(gè)類不能同時(shí)繼承一個(gè)類和實(shí)現(xiàn)一個(gè)接口 (可以的) D、在Java中接口只允許單一繼承 (可以繼承多個(gè)接口) 9. 給出下面代碼,關(guān)于該程序以下哪個(gè)說法是正確的?( C ) public class Person{ static int arr[] = new int[5]; public static void main(String a[]) { System.out.println(arr[0]);} } } A、編譯時(shí)將產(chǎn)生錯(cuò)誤 B、編譯時(shí)正確,運(yùn)行時(shí)將產(chǎn)生錯(cuò)誤 C、輸出零 D、輸出空 (輸出數(shù)組的首地址arr[0],int類型的初始值為0) 10. 在使用interface聲明一個(gè)接口時(shí),只可以使用( D )修飾符修飾該接口。 A、private B、protected C、private protected D、public (接口只能和public 和abstract關(guān)鍵字連用 ) 11. 編譯并運(yùn)行以下程序,以下描述哪個(gè)選項(xiàng)是正確的( D ) 1. class A{ 2. protected boolean equals(){ 3. return super.equals(); 4. } 5. } (只有調(diào)用父類非私有屬性和方法時(shí)才使用到super) A、編譯通過運(yùn)行無異常 B、編譯通過但運(yùn)行時(shí)出錯(cuò) C、行2出錯(cuò),不能成功編譯 D、不能成功編譯,行3出錯(cuò) 12. 有語句String s=”hello world”; ,以下操作哪個(gè)是不合法的?( B ) A、int i=s.length(); B、s>>>=3;(>>>為無符號(hào)右移運(yùn)算符,去掉“=”號(hào)) C、String ts=s.trim(); D、String t=s+”!”; 13. 下列關(guān)于Java語言的特點(diǎn),描述錯(cuò)誤的是( C ) A.Java是跨平臺(tái)的編程語言 B.Java支持分布式計(jì)算 C.Java是面向過程的編程語言(面向?qū)ο螅? D.Java支持多線程 14. 下述概念中不屬于面向?qū)ο蠓椒ǖ氖牵? D )。 A.對(duì)象、消息 B.繼承、多態(tài) C.類、封裝 D.過程調(diào)用 (過程調(diào)用是屬于過程方法) 15. 結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是 ( C ) A.輸入、處理、輸出 B.樹形、網(wǎng)形、環(huán)形 C.順序、選擇、循環(huán) D.主程序、子程序、函數(shù) 16. 下列關(guān)于構(gòu)造方法的敘述中,錯(cuò)誤的是( C ) A.Java語言規(guī)定構(gòu)造方法名與類名必須相同 B.Java語言規(guī)定構(gòu)造方法沒有返回值,但不用void聲明 C.Java語言規(guī)定構(gòu)造方法不可以重載 D.Java語言規(guī)定構(gòu)造方法只能通過new自動(dòng)調(diào)用 17. 下列哪個(gè)類的聲明是正確的?( D ) A.a(chǎn)bstract final class HI{} (final代表常量,但是抽象類不能實(shí)例化) B.a(chǎn)bstract private move(){} (這是定義方法的) C.protected private number; (不是定義類,且修飾符重復(fù)) D.public abstract class Car{} 18. 關(guān)于被私有訪問控制符private修飾的成員變量,以下說法正確的是( C ) A.可以被三種類所引用:該類自身、與它在同一個(gè)包中的其他類、在其他包中的該類的子類 B.可以被兩種類訪問和引用:該類本身、該類的所有子類 C.只能被該類自身所訪問和修改 D.只能被同一個(gè)包中的類訪問 19. 下列關(guān)于for循環(huán)和while循環(huán)的說法中哪個(gè)是正確的?( B ) A.while循環(huán)能實(shí)現(xiàn)的操作,for循環(huán)也都能實(shí)現(xiàn) B.while循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)判斷條件一般是非程序結(jié)果 C.兩種循環(huán)任何時(shí)候都可替換 D.兩種循環(huán)結(jié)構(gòu)中都必須有循環(huán)體,循環(huán)體不能為空 20. 閱讀以下代碼: import java.io.*; import java.util.*; public class foo{ public static void main (String[] args){ String s; System.out.println("s=" + s); } } 輸出結(jié)果應(yīng)該是:( C ) A.代碼得到編譯,并輸出“s=” ( 代碼不能編譯通過) B.代碼得到編譯,并輸出“s=null” C.由于String s沒有初始化,代碼不能編譯通過 D.代碼得到編譯,但捕獲到 NullPointException異常 21. 編譯運(yùn)行以下程序后,關(guān)于輸出結(jié)果的說明正確的是 ( C ) public class Conditional{ public static void main(String args[ ]){ int x=4; System.out.println(“value is “+ ((x>4) ? 99.9:9)); } } A.輸出結(jié)果為:value is 99.9 B.輸出結(jié)果為:value is 9 C.輸出結(jié)果為:value is 9.0(判斷為false時(shí)取“:”后面的值9,又因?yàn)橛?9.9double類型,最后值類型也為double) D.編譯錯(cuò)誤 22. 執(zhí)行完以下代碼int [ ] x = new int[10];后,以下哪項(xiàng)說明是正確的( A ) A.x[9]為0 B.x[9]未定義 (new出數(shù)組后未賦值,則系統(tǒng)默認(rèn)int類型數(shù)據(jù)為0) C.x[10]為0 (下標(biāo)越界,數(shù)組下標(biāo)是從0開始的) D.x[0]為空 (同B) ** 23. 關(guān)于以下程序段,正確的說法是( C ) 1. String s1=“a”+“b”; 2. String s2=new String(s1); 3. if(s1= =s2) 4. System.out.println(“= = is succeeded”); 5. if (s1.equals(s2)) 6. System.out.println(“.equals() is succeeded”); A.行4與行6都將執(zhí)行 B.行4執(zhí)行,行6不執(zhí)行 C.行6執(zhí)行,行4不執(zhí)行 C.行4、行6都不執(zhí)行 24. 以下程序的運(yùn)行結(jié)果是:( C ) public class Increment{ public static void main(String args[]){ int c; c = 2; System.out.println(c); //2 System.out.println(c++); //2 System.out.println(c); //3 } c++ -->是先取值再運(yùn)算 } A.2 2 2 B.2 3 3 C.2 2 3 D.3 4 4 25. 下列哪一個(gè)關(guān)鍵字用于實(shí)現(xiàn)接口來定義類? ( B ) A、extends (繼承) B、implements(實(shí)現(xiàn)) C、abstract(抽象) D、interface (接口) 判斷題 1 子類不能繼承父類的私有成員變量,因此也沒有任何辦法可以修改父類的私有成員變量。F 2.Java語言包括兩類變量:簡單變量和引用變量T 3.函數(shù)重載時(shí),同名函數(shù)的參數(shù)類型列表必須不同T 4.一個(gè)類可以選擇地實(shí)現(xiàn)接口的部分函數(shù).F 5. JAVA中的引用變量需要初始化,簡單變量可以不進(jìn)行初始化F 6.Java只支持單繼承,也就是說子類只能有一個(gè)直接父類T。 7.子類可以繼承父類的除私有成員以外的其它所有成員。F 8.兩個(gè)浮點(diǎn)數(shù)相除,即使除數(shù)為0,也不會(huì)出現(xiàn)異常退出。T 9.抽象類不能實(shí)例化,也就是說,不能有自己的對(duì)象T 10.Object類是所有其它類的直接或間接父類T 1.抽象類可以有構(gòu)造方法,接口中不能有構(gòu)造方法。 2.抽象類中可以有普通成員變量,接口中沒有普通成員變量 3.抽象類中可以包含非抽象的普通方法,接口中的所有方法必須都是抽象的,不能有非抽象的普通方法。 4.抽象類中的抽象方法的訪問類型可以是public,protected和(默認(rèn)類型,雖然eclipse下不報(bào)錯(cuò),但應(yīng)該也不行),但接口抽象方法只能是public類型的,并且默認(rèn)即為public abstract類型。 5.抽象類中可以包含靜態(tài)方法,接口中不能包含靜態(tài)方法 6.抽象類和接口中都可以包含靜態(tài)成員變量,抽象類中的靜態(tài)成員變量的訪問類型可以任意,但接口中定義的變量只能是public static final類型,并且默認(rèn)即為public static final類型。 7.一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,但只能繼承一個(gè)抽象類。 1、覆蓋的方法的標(biāo)志必須要和被覆蓋的方法的標(biāo)志完全匹配,才能達(dá)到覆蓋的效果; 2、覆蓋的方法的返回值必須和被覆蓋的方法的返回一致; 3、覆蓋的方法所拋出的異常必須和被覆蓋方法的所拋出的異常一致,或者是其子類; 4、被覆蓋的方法不能為private,否則在其子類中只是新定義了一個(gè)方法,并沒有對(duì)其進(jìn)行覆蓋。 1、在使用重載時(shí)只能通過不同的參數(shù)樣式。例如,不同的參數(shù)類型,不同的參數(shù)個(gè)數(shù),不同的參數(shù)順序(當(dāng)然,同一方法內(nèi)的幾個(gè)參數(shù)類型必須不一樣,例如可以是fun(int,float),但是不能為fun(int,int));好像可以這樣寫啊 2、不能通過訪問權(quán)限、返回類型、拋出的異常進(jìn)行重載; 3、方法的異常類型和數(shù)目不會(huì)對(duì)重載造成影響; 4、對(duì)于繼承來說,如果某一方法在父類中是訪問權(quán)限是priavte,那么就不能在子類對(duì)其進(jìn)行重載,如果定義的話,也只是定義了一個(gè)新方法,而不會(huì)達(dá)到重載的效果。 list set 是 map不是 接口可以繼承接口。抽象類可以實(shí)現(xiàn)(implements)接口,抽象類是否可繼承實(shí)體類,但前提是實(shí)體類必須有明確的構(gòu)造函數(shù) 2.3 水仙花數(shù) 2.3.1題目:打印出所有的"水仙花數(shù)(narcissus number)",所謂"水仙花數(shù)"是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)"水仙花數(shù)",因?yàn)?53=1的三次方+5的三次方+3的三次方。 2.3.2 源程序 public class shuixian { static int b, bb, bbb; public static void main(String[] args) { for (int num = 101; num < 1000; num++) { shuixian tnn = new shuixian(); tnn.f(num); } } public void f(int m) { bbb = m / 100; bb = (m % 100) / 10; b = (m % 100) % 10; if ((bbb * bbb * bbb + bb * bb * bb + b * b * b) == m) { System.out.println(m); } } } 2.3.3 運(yùn)行結(jié)果: 153 370 371 407- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Java 基礎(chǔ) 測(cè)試 答案
鏈接地址:http://m.appdesigncorp.com/p-6554225.html