![Java初級(jí)軟件工程師認(rèn)證考試試卷及答案詳解2_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/6ff802d5-dc2e-4fd3-a070-8d7ab2c1e109/6ff802d5-dc2e-4fd3-a070-8d7ab2c1e1091.gif)
![Java初級(jí)軟件工程師認(rèn)證考試試卷及答案詳解2_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/6ff802d5-dc2e-4fd3-a070-8d7ab2c1e109/6ff802d5-dc2e-4fd3-a070-8d7ab2c1e1092.gif)
![Java初級(jí)軟件工程師認(rèn)證考試試卷及答案詳解2_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/6ff802d5-dc2e-4fd3-a070-8d7ab2c1e109/6ff802d5-dc2e-4fd3-a070-8d7ab2c1e1093.gif)
![Java初級(jí)軟件工程師認(rèn)證考試試卷及答案詳解2_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/6ff802d5-dc2e-4fd3-a070-8d7ab2c1e109/6ff802d5-dc2e-4fd3-a070-8d7ab2c1e1094.gif)
![Java初級(jí)軟件工程師認(rèn)證考試試卷及答案詳解2_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/6ff802d5-dc2e-4fd3-a070-8d7ab2c1e109/6ff802d5-dc2e-4fd3-a070-8d7ab2c1e1095.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java 初級(jí)軟件工程師認(rèn)證考試試卷筆試(A卷)考試時(shí)間150分鐘總分 100分姓 名_身份證號(hào)_考試結(jié)束后考卷必須收回,否則考試成績(jī)無(wú)效Java 初級(jí)軟件工程師認(rèn)證考試試卷一、 填空題(共20個(gè)題目,總計(jì)20分)1. 安裝JDK后,為了告訴計(jì)算機(jī)javac.exe和java.exe等執(zhí)行文件的位置,需要配置的環(huán)境變量是_。2. Java提供了三種注釋類型,分別是單行注釋,多行注釋和_。3. char 類型用來(lái)表示在Unicode編碼表中的字符,長(zhǎng)度是_個(gè)字節(jié)。4. _是短路與運(yùn)算符,如果左側(cè)表達(dá)式的計(jì)算結(jié)果是false,右側(cè)表達(dá)式將不再進(jìn)行計(jì)算。5. _語(yǔ)句用在循環(huán)語(yǔ)句體中,用于終止某次循環(huán)
2、過(guò)程,即跳過(guò)循環(huán)體中尚未執(zhí)行的語(yǔ)句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定。6. 基本數(shù)據(jù)類型的類型轉(zhuǎn)換中,要將double類型的常量3.14159賦給為整數(shù)類型變量n的語(yǔ)句是_。7. 執(zhí)行Person p = new Person();語(yǔ)句后,將在_中給Person對(duì)象分配空間,并在棧內(nèi)存中給引用變量p分配空間,存放Person對(duì)象的引用。8. 使用static修飾的變量稱為靜態(tài)變量,靜態(tài)變量可以有兩種訪問(wèn)方式,分別是類名.靜態(tài)變量名和_。9. 在一個(gè)類文件中的關(guān)鍵字package,import,class出現(xiàn)的可能順序是_。10. 異常是由Java應(yīng)用程序拋出和處理的非嚴(yán)重錯(cuò)誤,比如所需文件沒(méi)有
3、找到、零作除數(shù),數(shù)組下標(biāo)越界等,可分為兩類:Checked異常和_。11. 數(shù)組在內(nèi)存中分配連續(xù)的空間,數(shù)組的長(zhǎng)度固定,一經(jīng)分配無(wú)法改變,可以使用_屬性獲取數(shù)組的長(zhǎng)度。12. DateFormat類可以實(shí)現(xiàn)字符串和日期類型之間的格式轉(zhuǎn)換,其中將日期類型轉(zhuǎn)換為指定的字符串格式的方法名是_。13. JDK1.5后提供了_關(guān)鍵字,用以定義枚舉類。枚舉類是一種特殊的類,可以有自己的屬性、方法和構(gòu)造方法。14. 如果希望將自定義類Student的多個(gè)對(duì)象放入集合TreeSet,實(shí)現(xiàn)所有元素按照某個(gè)屬性的自然順序排列,則需要Student類實(shí)現(xiàn)_接口。15. 迭代器Iterator為集合而生,專門實(shí)現(xiàn)集合
4、遍歷,該接口有三個(gè)方法,分別是hasNext() 、_、remove()。16. Java IO體系中,_是字節(jié)輸入流,提供了可以存取所有Java基礎(chǔ)類型數(shù)據(jù)(如:int,double 等)和String的方法,但沒(méi)有提供存取對(duì)象的方法。17. _是指將Java對(duì)象轉(zhuǎn)換成字節(jié)序列,從而可以保存到磁盤上,也可以在網(wǎng)絡(luò)上傳輸,使得不同的計(jì)算機(jī)可以共享對(duì)象。18. Java反射技術(shù)中,每個(gè)Method對(duì)象對(duì)應(yīng)一個(gè)方法,獲得Method對(duì)象后,可以調(diào)用其_來(lái)調(diào)用對(duì)應(yīng)方法。19. 處于運(yùn)行狀態(tài)的線程在某些情況下,如執(zhí)行了sleep(睡眠)方法,或等待I/O設(shè)備等資源,將讓出CPU并暫時(shí)停止自己的運(yùn)行,進(jìn)
5、入_狀態(tài)。 20. 統(tǒng)一資源定位符URL是指向互聯(lián)網(wǎng)“資源”的指針,由4部分組成:協(xié)議、存放資源的主機(jī)域名、_和資源路徑和文件名。二、 選擇題(共25個(gè)題目,總計(jì)25分)1)以下選項(xiàng)中是對(duì)一個(gè)Java源文件進(jìn)行正確編譯的語(yǔ)句是( )(選擇一項(xiàng))A.javac Test.javaB.javac TestC.java TestD.java Test.class2)以下選項(xiàng)中屬于合法的Java標(biāo)識(shí)符的是( )。(選擇兩項(xiàng))A.publicB.3numC.nameD._age3)以下代碼的執(zhí)行結(jié)果是( )。(選擇一項(xiàng))boolean m = true;if(m = false)System.out.p
6、rintln(false);elseSystem.out.println(true);A.falseB.trueC.編譯錯(cuò)誤D.無(wú)結(jié)果4)以下do-while循環(huán)代碼的執(zhí)行結(jié)果是( )。(選擇一項(xiàng))int a=0;int c=0;do-c;a=a-1;while(a0);System.out.println(a+ +c);A.-1 -1B.死循環(huán)C.-1 -2D.-1 05)while循環(huán)和do-while循環(huán)的區(qū)別是( )。(選擇一項(xiàng))A.沒(méi)有區(qū)別,這兩個(gè)結(jié)構(gòu)在任何情況下效果一樣 B.while循環(huán)比do-while循環(huán)執(zhí)行效率高C.while循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次D.
7、do-while循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次6)分析下面的Java多重循環(huán)代碼片段,編譯運(yùn)行后的輸出結(jié)果是( )。(選擇一項(xiàng))for (int i = 0; i 6; i+) int k = +i;while (k 5) System.out.print(i);break;A.024B.02C.123D.137)以下關(guān)于方法調(diào)用的代碼的執(zhí)行結(jié)果是( )。(選擇一項(xiàng))public class Test public static void main(String args) int i = 99;mb_operate(i);System.out.print(i + 100);st
8、atic void mb_operate(int i) i += 100;A.99 B.199C.299D.991008)以下關(guān)于繼承條件下構(gòu)造方法執(zhí)行過(guò)程的代碼的執(zhí)行結(jié)果是( )。(選擇一項(xiàng))class Person public Person() System.out.println(execute Person();class Student extends Person public Student() System.out.println(execute Student() );class PostGraduate extends Student public PostGraduat
9、e() System.out.println(execute PostGraduate();public class TestInherit public static void main(String args) new PostGraduate();A.execute Person()execute Student() execute PostGraduate()B.execute PostGraduate()C.execute PostGraduate()execute Student() execute Person()D.沒(méi)有結(jié)果輸出9)以下語(yǔ)句中關(guān)于Java構(gòu)造方法的說(shuō)法錯(cuò)誤的是(
10、 )。(選擇一項(xiàng))A.構(gòu)造方法的作用是為創(chuàng)建對(duì)象進(jìn)行初始化工作,比如給成員變量賦值 B.一個(gè)Java類可以沒(méi)有構(gòu)造方法,也可以提供1個(gè)或多個(gè)構(gòu)造方法C.構(gòu)造方法與類同名,不能書(shū)寫(xiě)返回值類型D.構(gòu)造方法的第一條語(yǔ)句如果是super(),則可以省略,該語(yǔ)句作用是調(diào)用父類無(wú)參數(shù)的構(gòu)造方法10)以下關(guān)于this和super關(guān)鍵字的說(shuō)法錯(cuò)誤的是( )。(選擇二項(xiàng))A.this關(guān)鍵字指向當(dāng)前對(duì)象自身,super關(guān)鍵字指向當(dāng)前對(duì)象的直接父類B.在main方法中可以存在this或super關(guān)鍵字,但不能同時(shí)存在。C.this和super關(guān)鍵字都可以訪問(wèn)成員屬性,成員方法和構(gòu)造方法D.在一個(gè)類的構(gòu)造方法中可以同
11、時(shí)使用this和super來(lái)調(diào)用其他構(gòu)造方法11)以下選項(xiàng)中可以使成員變量m 被函數(shù)fun()直接訪問(wèn)的是( )。(選擇一項(xiàng))class Test private int m;public static void fun() System.out.println(m);A.將private int m 改為protected int m B.將private int m 改為 public int mC.將private int m 改為 static int mD.將private int m 改為 int m12)Person類和Test類的代碼如下所示,則代碼中的錯(cuò)誤語(yǔ)句是( )。(選擇
12、一項(xiàng))public class Person public String name;public Person(String name) = name;public class Test public static void main(String args) final Person person = new Person(歐歐); = 美美; person = new Person(亞亞); A.final Person person = new Person(歐歐);B. = 美美;C.person = new Perso
13、n(亞亞);D.沒(méi)有錯(cuò)誤13)以下關(guān)于異常的代碼的執(zhí)行結(jié)果是( )。(選擇一項(xiàng))public class Test public static void main(String args) try System.out.println(try);return; catch(Exception e)System.out.println(catch);finally System.out.println(finally);A.trycatchfinallyB.catchfinallyC.tryfinallyD.try14)以下關(guān)于String類的代碼的執(zhí)行結(jié)果是( )。(選擇一項(xiàng))public c
14、lass Test2 public static void main(String args) String s1 = new String(bjsxt); String s2 = new String(bjsxt); if (s1 = s2) System.out.println(s1 = s2); if (s1.equals(s2) System.out.println(s1.equals(s2); A.s1 = s2B.s1.equals(s2)C.s1 = s2s1.equals(s2)D.以上都不對(duì)15)以下關(guān)于StringBuffer類的代碼的執(zhí)行結(jié)果是( )。(選擇一項(xiàng))publ
15、ic class TestStringBuffer public static void main(String args) StringBuffer a = new StringBuffer(A);StringBuffer b = new StringBuffer(B);mb_operate(a, b);System.out.println(a + . + b); static void mb_operate(StringBuffer x, StringBuffer y) x.append(y);y = x; A.A.B B.A.A C.AB.ABD.AB.B 16)以下選項(xiàng)中能夠正確創(chuàng)建一
16、個(gè)數(shù)組的是( )。(選擇二項(xiàng))A.float f = new float66;B.float f = new float;C.float 6f = new float66;D.float f = new float6;17)以下選項(xiàng)中關(guān)于int和Integer的說(shuō)法錯(cuò)誤的是( )。(選擇二項(xiàng))A.int是基本數(shù)據(jù)類型,Integer是int的包裝類,是引用數(shù)據(jù)類型B.int的默認(rèn)值是0,Integer的默認(rèn)值也是0C.Integer可以封裝了屬性和方法提供更多的功能D.Integer i=5;該語(yǔ)句在JDK1.5之后可以正確執(zhí)行,使用了自動(dòng)拆箱功能18)以下選項(xiàng)中關(guān)于Java集合的說(shuō)法錯(cuò)誤的是
17、( )。(選擇二項(xiàng))A.List接口和Set接口是Collections接口有兩個(gè)子接口B.List接口中存放的元素具有有序,不唯一的特點(diǎn)C.Set接口中存放的元素具有無(wú)序,不唯一的特點(diǎn)D.Map接口存放的是映射信息,每個(gè)元素都是一個(gè)鍵值對(duì)19)以下代碼的執(zhí)行結(jié)果是( )。(選擇一項(xiàng))Set s=new HashSet();s.add(abc);s.add(abc);s.add(abc);s.add(abcd);System.out.println(s.size();A.1B.2C.3D.420)下面集合類中屬于非線程安全,且結(jié)構(gòu)采用了哈希表的是( )。(選擇一項(xiàng))A.VectorB.Arra
18、yListC.HashMapD.Hashtable21)以下選項(xiàng)中關(guān)于如下代碼的說(shuō)法正確的是( )。(選擇二項(xiàng))public class TestBuffered public static void main(String args) throws IOException BufferedReader br = new BufferedReader(new FileReader(d:/bjsxt1.txt);BufferedWriter bw = new BufferedWriter(new FileWriter(d:/bjsxt2.txt);String str = br.readLine
19、();while(str !=null) bw.write(str); bw.newLine();str = br.readLine(); br.close();bw.close();A.該類使用字符流實(shí)現(xiàn)了文件復(fù)制,將d:/bjsxt1.txt復(fù)制為d:/bjsxt2.txtB.FileReader和FileWriter是處理流,直接從文件讀寫(xiě)數(shù)據(jù)C.BufferedReader和BufferedWriter是節(jié)點(diǎn)流,提供緩沖區(qū)功能,提高讀寫(xiě)效率D.readLine()可以讀取一行數(shù)據(jù),返回值是字符串類型,簡(jiǎn)化了操作22)InputStreamReader是轉(zhuǎn)換流,可以將字節(jié)流轉(zhuǎn)換成字符流,
20、是字符流與字節(jié)流之間的橋梁。它的實(shí)現(xiàn)使用的設(shè)計(jì)模式是( )。(選擇一項(xiàng))A.工廠模式B.裝飾模式C.適配器模式D.代理模式23)以下選項(xiàng)中可以填寫(xiě)到橫線處,讓代碼正確編譯和運(yùn)行的是( )。(選擇一項(xiàng))public class Test implements Runnable public static void main(String args) _t.start();System.out.println(main);public void run() System.out.println(thread1!);A.Thread t = new Thread(new Test();B.Test
21、t = new Test();C.Thread t = new Test();D.Thread t = new Thread();24)在多個(gè)線程訪問(wèn)同一個(gè)資源時(shí),可以使用( )關(guān)鍵字來(lái)實(shí)現(xiàn)線程同步,保證對(duì)資源安全訪問(wèn)。(選擇一項(xiàng))A.synchronizedB.transientC.staticD.yield25)以下說(shuō)法中關(guān)于UDP協(xié)議的說(shuō)法正確的是( )。(選擇二項(xiàng))A.發(fā)送不管對(duì)方是否準(zhǔn)備好,接收方收到也不確認(rèn)B.面向連接C.占用系統(tǒng)資源多、效率低D.非常簡(jiǎn)單的協(xié)議,可以廣播發(fā)送三、 判斷題(共20個(gè)題目,總計(jì)10分)1. 一個(gè)Java源文件中可以定義多個(gè)類,但是至多只能有一個(gè)publ
22、ic類。( )2. Java的字節(jié)碼文件的擴(kuò)展名是class,是一種平臺(tái)獨(dú)立的非二進(jìn)制文件。( )3. 是異或位運(yùn)算符,運(yùn)算規(guī)則是如果兩個(gè)操作數(shù)相同,結(jié)果是0,否則結(jié)果是1。( )4. 賦值運(yùn)算符優(yōu)先級(jí)別低于條件運(yùn)算符,條件運(yùn)算符優(yōu)先級(jí)別低于算術(shù)運(yùn)算符。( )5. switch選擇語(yǔ)句是多分支選擇語(yǔ)句,只能處理等值條件判斷的情況,表達(dá)式可以是int類型、char類型,但不能是double,float類型。( )6. 在多重循環(huán)中,外層循環(huán)變量變化一遍,內(nèi)層循環(huán)變量要變化一次 。( )7. 程序調(diào)用自身的編程技巧稱為遞歸。遞歸的特點(diǎn)是編程簡(jiǎn)單并且節(jié)省內(nèi)存。( )8. 類可以看成一類對(duì)象的模板,對(duì)
23、象可以看成該類的一個(gè)具體實(shí)例。( )9. 使用public修飾的成員屬性和方法可以被當(dāng)前項(xiàng)目中所有包的所有類訪問(wèn)。( )10. 將子類對(duì)象賦給父類引用變量,稱為向下轉(zhuǎn)型,將無(wú)法訪問(wèn)子類特有的方法。( )11. 繼承是多態(tài)的基礎(chǔ),沒(méi)有繼承就沒(méi)有多態(tài)。( )12. 內(nèi)部類作為外部類成員,權(quán)限修飾符和其他成員一樣,可聲明為private、默認(rèn)、protected或public。( )13. 對(duì)于物理連接,比如數(shù)據(jù)庫(kù)連接、輸入流輸出流、Socket連接等,垃圾回收機(jī)制無(wú)能為力,必須手動(dòng)關(guān)閉才可以。( )14. 數(shù)組和集合中的元素可以是任何數(shù)據(jù)類型,包括基本類型和引用類型。( )15. 增強(qiáng)的for循環(huán)
24、可以遍歷數(shù)組和集合,語(yǔ)法簡(jiǎn)單 不需要知道數(shù)組的長(zhǎng)度,不能實(shí)現(xiàn)與下標(biāo)相關(guān)的操作。( )16. LinkedHashMap是一種有序的HashMap,查詢速度快,便于進(jìn)行添加刪除操作。( )17. Collection類是專門用來(lái)操作集合的工具類,提供一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的操作。( )18. 一個(gè)File對(duì)象可以代表一個(gè)文件或目錄,它可以獲取文件和目錄屬性,也可以訪問(wèn)文件內(nèi)容。( )19. 進(jìn)程是線程Thread內(nèi)部的一個(gè)執(zhí)行單元,它是程序中一個(gè)單一順序控制流程。( )20. Socket是傳輸層供給應(yīng)用層的編程接口,是應(yīng)用層與傳輸層之間的橋梁 。( )四、 簡(jiǎn)答題(共5個(gè)題目,總計(jì)25分
25、)1. 方法重載和方法重寫(xiě)(覆蓋)的區(qū)別。(4分)2. 寫(xiě)出java.lang.Object類的六個(gè)常用方法的聲明并說(shuō)明其作用。(6分)3. 接口和抽象類的聯(lián)系和區(qū)別。(5分)4. Vector和ArrayList、ArrayList和LinkedList的區(qū)別和聯(lián)系。(6分)5. 面向?qū)ο笤O(shè)計(jì)原則有哪些。(4分)五、 編碼題(共3個(gè)題目,總計(jì)20分)1. 寫(xiě)出餓漢式單例模式、懶漢式單例模式、多線程情況下懶漢式雙重判斷單例模式的示例代碼。(7分)2. 寫(xiě)出使用JDBC訪問(wèn)數(shù)據(jù)庫(kù)表t_student中所有數(shù)據(jù),并將結(jié)果集內(nèi)容封裝成List返回的代碼。(6分)1) 數(shù)據(jù)庫(kù)表已經(jīng)創(chuàng)建,表名稱及字段信
26、息如下表名t_student中文表名稱學(xué)生信息表序號(hào)字段名稱字段說(shuō)明類型長(zhǎng)度備注1id學(xué)生編號(hào)number6主鍵2name學(xué)生姓名varchar28非空3age學(xué)生年齡number3非空4score學(xué)生分?jǐn)?shù)number5,1非空5enterdate入學(xué)時(shí)間date非空2) 實(shí)體類Student已經(jīng)提供,和數(shù)據(jù)庫(kù)表字段對(duì)應(yīng),有id,name,age,score,enterDate五個(gè)屬性及相應(yīng)的getter和setter方法,提供了各種參數(shù)的構(gòu)造方法。3) 使用JDBC訪問(wèn)數(shù)據(jù)庫(kù)四個(gè)連接參數(shù)分別為a) driver:oracle.jdbc.driver.OracleDriverb) url:jd
27、bc:oracle:thin:localhost:1521:orclc) username:bjsxtd) password:bjsxt4) 方法的聲明為public List findAll() ,在方法體中書(shū)寫(xiě)JDBC代碼完成功能即可。3. 使用TCP網(wǎng)絡(luò)編程完成用戶登錄功能:客戶端輸入用戶名和密碼,向服務(wù)器發(fā)出登錄請(qǐng)求;服務(wù)器接收數(shù)據(jù)并進(jìn)行判斷,如果用戶名和密碼均是bjsxt,則登錄成功,否則登錄失敗,返回相應(yīng)響應(yīng)信息;客戶端接收響應(yīng)信息并輸出登錄結(jié)果。(7分)1) 用戶User類已提供構(gòu)造方法 public User(String username,String password)。2
28、) 客戶端采用ObjectOutputStream發(fā)送封裝了用戶名和密碼的User對(duì)象。public class LoginServer public static void main(String args) throws Exception public class LoginClient public static void main(String args) throws Exception 3) 服務(wù)器端和客戶端的類名和方法聲明如下所示。Java 初級(jí)軟件工程師認(rèn)證考試試卷精解六、 填空題(共20個(gè)題目,總計(jì)20分)221. path22. 文檔注釋23. 224. &25. con
29、tinue26. int n=(int)3.14159;27. 堆內(nèi)存28. 對(duì)象名.靜態(tài)變量名29. package import class30. 運(yùn)行時(shí)異常(或RuntimeException)31. length32. format33. enum34. Comparable35. next()36. DataInputStream37. 序列化38. invoke39. 阻塞40. 端口(號(hào))七、 選擇題(共25個(gè)題目,總計(jì)25分)1. A分析:編譯時(shí)使用javac Test.java,源文件的擴(kuò)展名.java不可少;解釋時(shí)使用java Test,運(yùn)行的是類而非class文件,所以類
30、名后不能加擴(kuò)展名.class。2. CD分析:Java標(biāo)識(shí)符命名規(guī)則標(biāo)識(shí)符必須以字母、_下劃線、美元符$開(kāi)頭;標(biāo)識(shí)符其它部分可以是字母、下劃線“_”、美元符“$”和數(shù)字的任意組合;Java 標(biāo)識(shí)符大小寫(xiě)敏感,且長(zhǎng)度無(wú)限制;不可以是Java的關(guān)鍵字;public是關(guān)鍵字,3num以數(shù)字開(kāi)頭。3. B分析:m = false 是賦值語(yǔ)句,而不是m = false,所以m的值是false。4. A5. D分析:do-while循環(huán)先循環(huán)后判斷,循環(huán)體至少被執(zhí)行一次;while循環(huán)先判斷后循環(huán),循環(huán)體可能一次也不執(zhí)行;while和do-while循環(huán)執(zhí)行效率沒(méi)有差別。6. D分析:任何兩種循環(huán)都可以相
31、互嵌套;可以任意層次循環(huán),但是一般不超過(guò)3層;外層循環(huán)變量變化一次,內(nèi)層循環(huán)變量要變化一遍。7. B分析:main方法中基本數(shù)據(jù)類型變量i作方法的實(shí)在參數(shù),在mb_operate中會(huì)重新分配新的空間存放形參i,不會(huì)影響到main方法中i的值。8. A分析:構(gòu)造方法的第一條語(yǔ)句如果不是顯式的通過(guò)this調(diào)用當(dāng)前類的構(gòu)造方法,或顯式的通過(guò)super調(diào)用父類的構(gòu)造方法,則默認(rèn)是super(),可以省略,作用是調(diào)用父類無(wú)參數(shù)的構(gòu)造方法;所以會(huì)先向上追溯到Object,然后再依次向下執(zhí)行各級(jí)父類的構(gòu)造方法,直到當(dāng)前類為止。9. B分析:一個(gè)Java類沒(méi)有定義構(gòu)造器,則系統(tǒng)會(huì)自動(dòng)定義一個(gè)無(wú)參的構(gòu)造方法。如
32、果已定義,則系統(tǒng)不會(huì)添加無(wú)參數(shù)構(gòu)造方法,所以Java類至少有一個(gè)構(gòu)造方法。10. BD分析:靜態(tài)static方法中不能出現(xiàn)this和super關(guān)鍵字,因?yàn)閠his和super只有在創(chuàng)建對(duì)象后才會(huì)在堆內(nèi)存中分配空間,而可以在沒(méi)有創(chuàng)建對(duì)象之前就是要static變量和static方法11. C分析:static方法只能出現(xiàn)static變量,不能出現(xiàn)非static變量;非static方法中可以出現(xiàn)static變量和非static變量。12. C分析:使用final修飾變量,變量的值將無(wú)法修改,從而變?yōu)槌A俊4祟}中使用final修飾的是person,而不是name,所以B正確,C出現(xiàn)編譯錯(cuò)誤。13. C
33、分析: finally塊的具體執(zhí)行過(guò)程:執(zhí)行try或catch中代碼;遇到return/throw后先執(zhí)行finally中語(yǔ)句塊;執(zhí)行return/throw。finally塊中語(yǔ)句不執(zhí)行的唯一情況:執(zhí)行System.exit(1)退出Java虛擬機(jī) 14. B分析:=:a)基本類型,比較的是值b)引用類型,比較的是地址c)不能比較沒(méi)有父子關(guān)系的兩個(gè)對(duì)象equals()a)系統(tǒng)類一般已經(jīng)覆蓋了equals(),比較的是內(nèi)容。b)用戶自定義類如果沒(méi)有覆蓋equals(),將調(diào)用父類的equals(比如是Object),而Object的equals的比較是地址(return (this = obj
34、);)c)用戶自定義類需要覆蓋父類的equals()注意:Object的=和equals比較的都是地址,作用相同15. D分析: StringBuffer是字符串“變量”,其值可以直接修改,String是字符串“常量”,其值不能直接修改,只能通過(guò)修改引用來(lái)指向新的字符串來(lái)實(shí)現(xiàn)修改。x.append(y);修改的是x的內(nèi)容,y = x;修改的是y的引用。該題目難度指數(shù)高,涉及String、StringBuffer,引用類型參數(shù)的方法調(diào)用,鍛煉價(jià)值很大,可以借助內(nèi)存分配圖來(lái)理解。16. AD分析:定義二維數(shù)組并分配空間時(shí),=左側(cè)不能指定數(shù)組長(zhǎng)度,=右側(cè)可以同時(shí)指定兩個(gè)維度的長(zhǎng)度,也可以只指定第一個(gè)
35、維度的長(zhǎng)度。17. BD分析:int的默認(rèn)值是0,Integer是引用數(shù)據(jù)類型,默認(rèn)值是null;Integer i=5;該語(yǔ)句在JDK1.5之后可以正確執(zhí)行,使用了自動(dòng)裝箱箱功能,而不是自動(dòng)拆箱功能。18. AC分析:注意Collections和Collection的區(qū)別,List接口和Set接口是Collection接口有兩個(gè)子接口。Collection中存放的元素具有無(wú)序,不唯一的特點(diǎn),List中存放的元素具有有序,不唯一的特點(diǎn),而HashSet中存放的元素具有無(wú)序,唯一的特點(diǎn)。19. B分析:HashSet中存放的元素具有無(wú)序,唯一的特點(diǎn),所以長(zhǎng)度是2,而不是4。20. C分析:Vec
36、tor和ArrayList實(shí)現(xiàn)原理相同,功能相同,都是長(zhǎng)度可變的數(shù)組結(jié)構(gòu),很多情況下可以互用。兩者的主要區(qū)別如下: Vector是早期集合類,ArrayList是替代Vector的;Vector線程安全;ArrayList重速度輕安全,線程非安全,性能較高。HashMap和Hashtable實(shí)現(xiàn)原理相同,功能相同,底層都是哈希表結(jié)構(gòu),查詢速度快,在很多情況下可以互用。兩者的主要區(qū)別如下:Hashtable是早期JDK提供,HashMap是新版JDK提供;Hashtable線程安全,性能較低,HashMap線程非安全,性能較高。21. AD分析:FileReader和FileWriter是節(jié)點(diǎn)流
37、,直接從文件讀寫(xiě)數(shù)據(jù);BufferedReader和BufferedWriter是處理流,提供緩沖區(qū)功能,提高讀寫(xiě)效率。22. C分析:InputStreamReader和OutputStreamWriter是轉(zhuǎn)換流,采用了適配器設(shè)計(jì)模式,可以將字節(jié)流轉(zhuǎn)換成字符流。而在各種節(jié)點(diǎn)流和包裝流之間則采用了裝飾模式,裝飾模式是繼承的一種有效替代方案,避免產(chǎn)生大量的子類。23. A分析:定義線程有兩種方式,繼承Thread類和實(shí)現(xiàn)Runnable接口。創(chuàng)建線程對(duì)象的方式也有所不同。因?yàn)镽unnable接口的實(shí)現(xiàn)類本身并不是線程,所以需要作為Thread類的參數(shù)來(lái)傳遞。此題目采用第二種方式來(lái)定義線程和創(chuàng)建
38、線程對(duì)象。24. A分析:在多個(gè)線程訪問(wèn)同一個(gè)資源時(shí),可以使用synchronized關(guān)鍵字來(lái)實(shí)現(xiàn)線程同步,保證對(duì)資源安全訪問(wèn),但是也會(huì)導(dǎo)致性能下降,甚至導(dǎo)致死鎖。25. AD分析:TCP協(xié)議一種面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié)流的運(yùn)輸層通信協(xié)議 。特點(diǎn):面向連接;點(diǎn)到點(diǎn)的通信;高可靠性;占用系統(tǒng)資源多、效率低。UDP是一種無(wú)連接的傳輸層協(xié)議,提供面向事務(wù)的簡(jiǎn)單不可靠信息傳送服務(wù)。特點(diǎn):非面向連接,傳輸不可靠,可能丟失;發(fā)送不管對(duì)方是否準(zhǔn)備好,接收方收到也不確認(rèn);可以廣播發(fā)送;非常簡(jiǎn)單的協(xié)議,開(kāi)銷小。八、 判斷題(共20個(gè)題目,總計(jì)10分)21. 22. Java的字節(jié)碼文件的擴(kuò)展名是
39、class,是一種平臺(tái)獨(dú)立的二進(jìn)制文件。23. 24. 25. 26. 在多重循環(huán)中,外層循環(huán)變量變化一次,內(nèi)層循環(huán)變量要變化一遍。27. 程序調(diào)用自身的編程技巧稱為遞歸,其特點(diǎn)是編程簡(jiǎn)單但是占用內(nèi)存空間多。28. 29. 30. 將子類對(duì)象賦給父類引用變量,稱為向上轉(zhuǎn)型,將無(wú)法訪問(wèn)子類特有的方法。31. 32. 33. 34. 數(shù)組中的元素可以是任何數(shù)據(jù)類型,包括基本類型和引用類型。集合中的元素只能是引用類型,基本類型數(shù)據(jù)需要轉(zhuǎn)換為對(duì)應(yīng)包裝類的對(duì)象才能放入集合。35. 36. 37. Collections類是專門用來(lái)操作集合的工具類,提供一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的操作。38. 一個(gè)Fi
40、le對(duì)象可以代表一個(gè)文件或目錄,它可以獲取文件和目錄屬性,不可以訪問(wèn)文件內(nèi)容。39. 線程Thread是進(jìn)程內(nèi)部的一個(gè)執(zhí)行單元,它是程序中一個(gè)單一順序控制流程。40. 九、 簡(jiǎn)答題(共5個(gè)題目,總計(jì)25分)1. 方法重載和方法重寫(xiě)(覆蓋)的區(qū)別。(4分)英文位置不同修飾符返回值方法名參數(shù)拋出異常方法體重載overload同一個(gè)類中無(wú)關(guān)無(wú)關(guān)相同不同無(wú)關(guān)不同重寫(xiě)override子類和父類間大于等于小于等于相同相同小于等于不同2. 寫(xiě)出java.lang.Object類的六個(gè)常用方法的聲明并說(shuō)明其作用。(6分)1) public boolean equals(java.lang.Object) 比較
41、內(nèi)容2) public native int hashCode() 哈希碼3) public java.lang.String toString() 變成字符串4) public final native java.lang.Class getClass() 獲取類結(jié)構(gòu)信息5) protected void finalize() throws java.lang.Throwable 垃圾回收前執(zhí)行的方法6) protected native Object clone() throws java.lang.CloneNotSupportedException 克隆7) public final
42、void wait() throws java.lang.InterruptedException 多線程中等待功能8) public final native void notify() 多線程中喚醒功能9) public final native void notifyAll() 多線程中喚醒所有等待線程的功能3. 接口和抽象類的聯(lián)系和區(qū)別。(5分)相同點(diǎn) 抽象類和接口均包含抽象方法,類必須實(shí)現(xiàn)所有的抽象方法,否則是抽象類 抽象類和接口都不能實(shí)例化,他們位于繼承樹(shù)的頂端,用來(lái)被其他類繼承和實(shí)現(xiàn)兩者的區(qū)別主要體現(xiàn)在兩方面:語(yǔ)法方面和設(shè)計(jì)理念方面語(yǔ)法方面的區(qū)別是比較低層次的,非本質(zhì)的,主要表現(xiàn)
43、在: 接口中只能定義全局靜態(tài)常量,不能定義變量。抽象類中可以定義常量和變量。 接口中所有的方法都是全局抽象方法。抽象類中可以有0個(gè)、1個(gè)或多個(gè),甚至全部都是抽象方法。 抽象類中可以有構(gòu)造方法,但不能用來(lái)實(shí)例化,而在子類實(shí)例化是執(zhí)行,完成屬于抽象類的初始化操作。接口中不能定義構(gòu)造方法。 一個(gè)類只能有一個(gè)直接父類(可以是抽象類),但可以充實(shí)實(shí)現(xiàn)多個(gè)接口。一個(gè)類使用extends來(lái)繼承抽象類,使用implements來(lái)實(shí)現(xiàn)接口。二者的主要區(qū)別還是在設(shè)計(jì)理念上,其決定了某些情況下到底使用抽象類還是接口。 抽象類體現(xiàn)了一種繼承關(guān)系,目的是復(fù)用代碼,抽象類中定義了各個(gè)子類的相同代碼,可以認(rèn)為父類是一個(gè)實(shí)現(xiàn)
44、了部分功能的“中間產(chǎn)品”,而子類是“最終產(chǎn)品”。父類和子類之間必須存在“is-a”的關(guān)系,即父類和子類在概念本質(zhì)上應(yīng)該是相同的。 接口并不要求實(shí)現(xiàn)類和接口在概念本質(zhì)上一致的,僅僅是實(shí)現(xiàn)了接口定義的約定或者能力而已。接口定義了“做什么”,而實(shí)現(xiàn)類負(fù)責(zé)完成“怎么做”,體現(xiàn)了功能(規(guī)范)和實(shí)現(xiàn)分離的原則。接口和實(shí)現(xiàn)之間可以認(rèn)為是一種“has-a的關(guān)系”4. Vector和ArrayList、ArrayList和LinkedList的區(qū)別和聯(lián)系。(6分)Vector和ArrayList的區(qū)別和聯(lián)系實(shí)現(xiàn)原理相同,功能相同,都是長(zhǎng)度可變的數(shù)組結(jié)構(gòu),很多情況下可以互用兩者的主要區(qū)別如下1. Vector是早
45、期JDK接口,ArrayList是替代Vector的新接口2. Vector線程安全,ArrayList重速度輕安全,線程非安全3. 長(zhǎng)度需增長(zhǎng)時(shí),Vector默認(rèn)增長(zhǎng)一倍,ArrayList增長(zhǎng)50%ArrayList和LinkedList的區(qū)別和聯(lián)系A(chǔ)rrayList實(shí)現(xiàn)了長(zhǎng)度可變的數(shù)組,在內(nèi)存中分配連續(xù)空間。遍歷元素和隨機(jī)訪問(wèn)元素的效率比較高;LinkedList采用鏈表存儲(chǔ)方式。插入、刪除元素時(shí)效率比較高5. 面向?qū)ο笤O(shè)計(jì)原則有哪些。(4分)面向?qū)ο笤O(shè)計(jì)原則是面向?qū)ο笤O(shè)計(jì)的基石,面向?qū)ο笤O(shè)計(jì)質(zhì)量的依據(jù)和保障,設(shè)計(jì)模式是面向?qū)ο笤O(shè)計(jì)原則的經(jīng)典應(yīng)用1. 單一職責(zé)原則SRP2. 開(kāi)閉原則OC
46、P3. 里氏替代原則LSP4. 依賴注入原則DIP5. 接口分離原則ISP6. 迪米特原則LOD7. 組合/聚合復(fù)用原則CARP開(kāi)閉原則具有理想主義的色彩,它是面向?qū)ο笤O(shè)計(jì)的終極目標(biāo)。其他設(shè)計(jì)原則都可以看作是開(kāi)閉原則的實(shí)現(xiàn)手段或方法。十、 編碼題(共3個(gè)題目,總計(jì)20分)1. 寫(xiě)出餓漢式單例模式、懶漢式單例模式、多線程情況下懶漢式雙重判斷單例模式的示例代碼。(7分)/* * 餓漢式的單例模式,在類加載時(shí)創(chuàng)建單例實(shí)例,而不是等到第一次請(qǐng)求實(shí)例時(shí)創(chuàng)建* 1、私有 的無(wú)參數(shù)構(gòu)造方法Singleton(),避免外部創(chuàng)建實(shí)例 * 2、私有靜態(tài)屬性instance * 3、公有靜態(tài)方法getInstanc
47、e() */public class Singleton private static Singleton instance = new Singleton();private Singleton()public static Singleton getInstance()return instance;/* * 懶漢式的單例模式 *在類加載的時(shí)候不創(chuàng)建單例實(shí)例,只有在第一次請(qǐng)求實(shí)例的時(shí)候的時(shí)候創(chuàng)建*/public class Singleton private static Singleton instance;private Singleton()public static Singlet
48、on getInstance()if(instance=null) /只創(chuàng)建一次對(duì)象instance = new Singleton();return instance;/* *多線程情況下懶漢式的單例模式,避免創(chuàng)建多個(gè)對(duì)象 * 需要使用synchronized關(guān)鍵字和進(jìn)行兩次null判斷*/public class Singleton private static Singleton instance;private Singleton()public static Singleton getInstance()if(instance =null)/避免每次加鎖,只有第一次沒(méi)有創(chuàng)建對(duì)象時(shí)才加
49、鎖synchronized(Singleton.class)/加鎖,只允許一個(gè)線程進(jìn)入if(instance=null) /只創(chuàng)建一次對(duì)象instance = new Singleton();return instance;2. 寫(xiě)出使用JDBC訪問(wèn)數(shù)據(jù)庫(kù)表t_student中所有數(shù)據(jù),并將結(jié)果集內(nèi)容封裝成List返回的代碼。(6分)public List findAll() String driver=oracle.jdbc.driver.OracleDriver;String url=jdbc:oracle:thin:localhost:1521:orcl;String username=bjsxt;String password=bjsxt;Connection conn = null;Statement stmt = null;ResultSet rs = null;List stuList = new ArrayList();try /加載驅(qū)動(dòng)Cl
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度法律服務(wù)團(tuán)隊(duì)聘用合同范本下載
- 2025年度音樂(lè)噴泉與音響系統(tǒng)集成項(xiàng)目合同
- 知識(shí)產(chǎn)權(quán)教育實(shí)踐活動(dòng)計(jì)劃
- 科技創(chuàng)新應(yīng)用推廣工作方案計(jì)劃
- 學(xué)期后勤保障與支持計(jì)劃
- 2025年物位儀合作協(xié)議書(shū)
- 培養(yǎng)小學(xué)生的公民道德責(zé)任計(jì)劃
- 制定年度客戶滿意度提升計(jì)劃
- 如何構(gòu)建長(zhǎng)效的職業(yè)發(fā)展體系計(jì)劃
- 校園美術(shù)文化建設(shè)方案計(jì)劃
- 市政工程旁站監(jiān)理方案
- 員工離職登記表(范本模板)
- YY/T 1566.1-2017一次性使用自體血處理器械第1部分:離心杯式血細(xì)胞回收器
- 馬工程-公共財(cái)政概論-課程教案
- 2023人教版(PEP)小學(xué)英語(yǔ)(三、四、五、六年級(jí))詞匯及常用表達(dá)法(課本同步)
- 非常規(guī)天然氣課件
- 2023年頒布-英語(yǔ)課程標(biāo)準(zhǔn)
- 人員招收、招聘來(lái)源及人員穩(wěn)定性保障措施
- 滲透檢測(cè)報(bào)告
- DB4401-T 1-2018老年人照顧需求等級(jí)評(píng)定規(guī)范-(高清現(xiàn)行)
- 值班、交接班制度課件
評(píng)論
0/150
提交評(píng)論