計(jì)算機(jī)等級(jí)考試二級(jí)java模擬題測(cè)試題4套帶答案.docx_第1頁(yè)
計(jì)算機(jī)等級(jí)考試二級(jí)java模擬題測(cè)試題4套帶答案.docx_第2頁(yè)
計(jì)算機(jī)等級(jí)考試二級(jí)java模擬題測(cè)試題4套帶答案.docx_第3頁(yè)
計(jì)算機(jī)等級(jí)考試二級(jí)java模擬題測(cè)試題4套帶答案.docx_第4頁(yè)
計(jì)算機(jī)等級(jí)考試二級(jí)java模擬題測(cè)試題4套帶答案.docx_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)等級(jí)考試二級(jí)java模擬題11. float型floatf=3.4是否正確?答:不正確,應(yīng)為floatf=3.4f2. 當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?答:是引用傳遞。3. 在java中一個(gè)類(lèi)被聲明為final類(lèi)型,表示了什么意思?答:表示該類(lèi)不能被繼承,意味著它不能再派生出新的子類(lèi),不能作為父類(lèi)被繼承,是頂級(jí)類(lèi)。4. Error與Exception有什么區(qū)別?答:Error(錯(cuò)誤)表示系統(tǒng)級(jí)的錯(cuò)誤和程序不必處理的異常,是java運(yùn)行環(huán)境中的內(nèi)部錯(cuò)誤或者硬件問(wèn)題,比如,內(nèi)存資源不足等,對(duì)于這種錯(cuò)誤,

2、程序基本無(wú)能為力,除了退出運(yùn)行外別無(wú)選擇。Exception(違例)表示需要捕捉或者需要程序進(jìn)行處理的異常,它處理的是因?yàn)槌绦蛟O(shè)計(jì)的瑕疵而引起的問(wèn)題或者在外的輸入等引起的一般性問(wèn)題,是程序必須處理的。5. 談?wù)刦inal,finally的區(qū)別。答:final是修飾符(關(guān)鍵字)如果一個(gè)類(lèi)被聲明為final,意味著它不能再派生出新的子類(lèi),不能作為父類(lèi)被繼承。因此一個(gè)類(lèi)不能既被聲明為abstract,又被聲明為final。將變量或方法聲明為final,可以保證它們?cè)谑褂弥胁槐桓淖儭1宦暶鳛閒inal的變量必須在聲明時(shí)給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用

3、,不能重載。Finally是在異常處理時(shí)提供finally塊來(lái)執(zhí)行任何清除操作。如果拋出一個(gè)異常,那么相匹配的catch子句就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入finally塊(如果有的話),只要有finally語(yǔ)句塊,無(wú)論程序如何運(yùn)行,它都必然被執(zhí)行到。6. Strings=newString(Hxyzn);創(chuàng)建了幾個(gè)StringObject?答:創(chuàng)建了兩個(gè),一個(gè)字符對(duì)象,一個(gè)引用對(duì)象7. shortsi=1;si=si+1;有什么錯(cuò)?shorts1=1;s1+=1;有什么錯(cuò)?答:兩個(gè)錯(cuò)誤都是一樣的,后者只是加法的寫(xiě)法不一樣,兩個(gè)錯(cuò)誤都是因?yàn)閟i是short型而1是整型相加后數(shù)據(jù)類(lèi)型就變?yōu)檎土?,與s

4、i定義為short型有矛盾,必須進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換才正確。8. 數(shù)組有沒(méi)有l(wèi)ength。這個(gè)方法?String有沒(méi)有l(wèi)ength()這個(gè)方法?答:數(shù)組沒(méi)有,String有。9. Overload和Override的區(qū)別答:方法的覆蓋(Overriding)和重載(Overloading)是Java多態(tài)性的不同表現(xiàn)。覆蓋(Overriding)是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn),重載(Overloading)是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn)。如果在子類(lèi)中定義某方法與其父類(lèi)有相同的名稱(chēng)和參數(shù),我們說(shuō)該方法被覆蓋System.out.println(i+”“+getName();Try(Sleep(int)(

5、Math.random()*1000);Catch(InterruptedExceptione)()System.out.println("DONE!”+getName();14答案Importjava.awt.*Importjava.util.Date;Importjava.applet.Applet;PublicclassTestextendsAppletimplementsRunnable(Threadclockthread;Publicvoidstart(If(clockThread=null)(clockThread=newThread(this);clockThread.

6、start();Publicvoidrun()While(clockThread!=null)(repaint();TryclockThread.sleep(lOOO);catch(InterruptedExceptione)()Publicvoidpaint(Graphicsg)(Datetime=newDate();Stringstr=time.getHours()4-:"+time.getMinute()+":"+time.getSecond();g.drawString(str,5,10);clockThread二null;計(jì)算機(jī)等級(jí)考試二級(jí)java模擬題

7、31.ObjectlnputStream的父類(lèi)是。A.)InputStreamB) OutputStreamC) ReaderD) Writer2. 在java中,用來(lái)處理字符的基本存儲(chǔ)單位的。A) 單字節(jié)B) 雙字節(jié)C) 3字節(jié)D) 4字節(jié)3. ZipInputStream所在的包是A) .java.ioB) java.utilC) java.io.zipD) java.util.zip4. readFloat()所在類(lèi)是。A) DatalnputB)InputStreamReaderC) DataInputStreamD) BufferedInputStream5. 同時(shí)支持readlnt

8、()和write()方法的類(lèi)是A) RandomAccessFileB) FileC) ReadD) Write6. 讀一個(gè)壓縮文件,該壓縮文件對(duì)象參數(shù)的類(lèi)是.A) FileB) FileInputStreamC) ZipInputStreamD) BufferedReader7. JarlnputStream所屬流是.A) FileInputStreamB) BufferedInputStreamC) ZipInputStreamD) DataInputStream8. 如果想保留對(duì)象數(shù)據(jù),首先需要打開(kāi)的對(duì)象是A)ObjectOutputStreamB)FileOutputStreamC)B

9、ufferedOutputStreamD)ZipOutputStream9. 下列File類(lèi)操作中錯(cuò)誤的是A)文件的建立B)文件的刪除C)文件的讀寫(xiě)D)文件的屬性10. 在計(jì)算CRC校驗(yàn)和的程序中使用java.nio的新特性后,速度提高約23倍,所用技術(shù)是.A)校驗(yàn)和B)文件瑣C)字符編碼解碼D)內(nèi)存映射11.BufferedReader閱讀文本行的方法是.12. 以下是一個(gè)對(duì)數(shù)據(jù)文件進(jìn)行緩沖輸入操作的句子,在語(yǔ)句的下劃線處,請(qǐng)?zhí)钌线m當(dāng)?shù)膬?nèi)容:DatalnlputStreamdin=newDataInputStream(new(newFileInputStream("employee

10、.dat");13. 正如Java的流類(lèi)中也有不屬于java.io包的,比如:"摘要”輸入流類(lèi)DigestI叩utStream屬于java.security包,同樣,ZipInputStream屬于接口。14. 代表一個(gè)隨機(jī)訪問(wèn)文件的類(lèi)是類(lèi)。15. 如果對(duì)象需要進(jìn)行輸入,著該對(duì)象必須實(shí)現(xiàn)接口。16. 閱讀一個(gè)網(wǎng)頁(yè)中的html文件,尋找和相匹配的字符串。這就要將java.io.InputStreamReader和java.util.regex包的類(lèi)和Matcher類(lèi)相結(jié)合。17. 請(qǐng)編寫(xiě)一個(gè)完整的java程序,將一個(gè)文件(例如empllyee.dat)的屬性置為只讀模式。18

11、. 請(qǐng)編寫(xiě)一個(gè)完整的java程序,向一個(gè)文件(例如empllyee.dat)寫(xiě)入10個(gè)字符串。19. 請(qǐng)編寫(xiě)一個(gè)完整的java程序,將source.txt中的“這是在源文件中的數(shù)據(jù)”讀出來(lái)顯示在屏幕上,并且寫(xiě)入到destination.txt文件中。20. 請(qǐng)?jiān)囋谝韵鲁绦虻奶幪钌线m當(dāng)?shù)恼Z(yǔ)句。(選作)有時(shí)可將一個(gè)對(duì)象寫(xiě)在ByteArrayOutputStream流中,再?gòu)脑摿髦凶x入同樣一個(gè)對(duì)象到ByteArrayOutputStream中,這樣也可以深層次克隆一個(gè)對(duì)象。Importjava.io.*;PublicclassSerialCloneTestlPublicstaticvoidmain(

12、Stringargs)(Studentharry=newStudent("HarryHacker"Computerv);Studentharry2=(Student)harry.c!one();System.out.println(harry);System.out.println(harry2)ClassSerialCloneableimplementsCloneable,SerializablePublicObjectclone()Try./請(qǐng)?zhí)钌线m當(dāng)?shù)恼Z(yǔ)句,完成Student對(duì)象harry的克隆。Catch(Exceptione)(Returnnull;ClassSt

13、udentextendsSerialCloneable(PublicStudent(Stringn,Stringm)Name=n;Major=m;PublicStringtoString()ReturngetClass().getName()+,name="+name+",major="+major+")PrivateStringname;PrivateStringmajor;)答案kA2B3D4C5A6B7C8A9C10D11.readerLine()12.BufferedInputStream()13.java.util.zip14.RandomAc

14、cessFile15.Serializable16.Pattern17.代碼如下:Importjava.io.*;ClassSetReadOnlyText(Publicstaticvoidmain(Stringargs)(If(args.length!=1)(System.err.println("usage:javaMain”);System.exit(-l);If(newFile(argsO).setReadOnly()System.out.println(usetFiletoReadONlymodev);ElseSystem.out.println(uCannotsettore

15、ad-onlymode,);)18 .代碼如下:Importjava.io.*;PublicclassWriteCharPublicstaticvoidmain(StringargsJ)(Inti;Byteb=newbyte10;Try(DataOutputStreamout=newDataOutputString(newFileOutputStream("employee.dat”);For(i=0;ivl0;i+)(Bi=(byte)(48+i);Out.write(b);Out.close();Catch(Exceptione)19 .代碼如下:Importjava.io.*;

16、PublicclassReadWriteChar(Publicstaticvoidmain(Stringargs)(Strings=newStringO;Try(BufferedReaderin=newBufferedReader(newFileReader("source.txt");PrintWriterout=newPrintWriter(newFileWriter("destination.txt");Out.println("Thefollowingisfromsource,);While(s=in.readLine()!=null)

17、System.out.println(s);Out.println(s)In.close();Out.close();Catch(Exceptione)(.代碼如下:Importjava.io.*;PublicclassSerialCloneTestl(Publicstaticvoidmain(Stringargs)(Studentharry=newStudent(“HarryHacker”Computern);Studentharry2=(Student)harry.clone();System.out.println(harry);System.out.println(harry2);Cl

18、assSerialCloneableimplementsCloneable,Serializable(PublicObjectclone()ByteArrayOutputStreambout=newByteArrayOutStream();ObjectOutputStreamout=newObjectOutputStream(bout);Out.writeObject(this);Out.close();ByteArraylnputStreambin=newByteArraylnputStream(bout.toByteArrayO);ObjectlnputStreamin=newObject

19、lnputStream(bin);Objectret=in.readObject();In.closeQ;Returnret;Catch(Exceptione)Returnnull;ClassStudentextentSerialCloneable(PublicStudent(Stringn,Stringm)(Name=n;Major=m;PublicStringtoString()Returngetclass().getName()+"name="+major+"”P(pán)rivateStringname;PrivateStringmajor;)計(jì)算機(jī)等級(jí)考試二級(jí)ja

20、va模擬題41算法的時(shí)間復(fù)雜度是指算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)2設(shè)一棵完全二叉樹(shù)共有699個(gè)結(jié)點(diǎn),則在該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為_(kāi)350o3結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是程序的易讀性o4在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是_D、需求分析5數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是控制流O6軟件需求分析階段的工作,可以分為四個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)以及需求評(píng)審O7下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中正確的是數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余o8數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是

21、概念設(shè)計(jì)和邏輯設(shè)計(jì)o91以下B不是Java中有效的關(guān)鍵字。A、constB、NULLC、falseD、this10Panel默認(rèn)的布局管理器是A、FlowLayout。11下面B方法與applet的顯示無(wú)關(guān)。A、update()B、draw()C、repaint()D、paint()12下列內(nèi)容是異常的含義。A、程序的語(yǔ)法錯(cuò)B、程序編譯或運(yùn)行中所發(fā)生的異常事件C、程序預(yù)定義好的異常事件D、程序編譯錯(cuò)誤13當(dāng)方法遇到異常又不知如何處理時(shí),下列C做法是正確的。A、捕獲異常B、拋出異常C、聲明異常D、嵌套異常14計(jì)算機(jī)中的流是DoA、流動(dòng)的字節(jié)B、流動(dòng)的對(duì)象C、流動(dòng)的文件D、流動(dòng)的數(shù)據(jù)緩沖區(qū)15當(dāng)檢

22、索一個(gè)壓縮文件時(shí),首先要建立壓縮文件輸入流對(duì)象。該對(duì)象BoA、以選中的壓縮文件為參數(shù)B、以FilelnputStream對(duì)象為參數(shù)C、以InputStreamReader對(duì)象為參數(shù)D、以BufferedReader對(duì)象為參數(shù)B進(jìn)程或線程D、不可預(yù)知這些類(lèi)就必須實(shí)現(xiàn)A。B、java.io.Extemalizable接口D、DataOutput接口AoC、菜單D、容器B進(jìn)程或線程D、不可預(yù)知這些類(lèi)就必須實(shí)現(xiàn)A。B、java.io.Extemalizable接口D、DataOutput接口AoC、菜單D、容器16A、17A、C、c、一個(gè)JavaApplication運(yùn)行后,在系統(tǒng)中是作為一個(gè)線程B、

23、進(jìn)程要串行化某些類(lèi)的對(duì)象,Serializable接口java.io.Datalnput接口18Swing構(gòu)件的程序不具有A、本地代碼B、標(biāo)簽軟件的調(diào)試方法主要有:強(qiáng)行排錯(cuò)法、回朔法_和原因排除法。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為概念級(jí)模式、內(nèi)部級(jí)模式與外部級(jí)模式。數(shù)據(jù)字典是各類(lèi)數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)數(shù)據(jù)存儲(chǔ)和處理過(guò)程。19結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、模塊化和限制使用goto語(yǔ)句。202122據(jù)流、23 Java語(yǔ)言的各種數(shù)據(jù)類(lèi)型之間提供兩種轉(zhuǎn)換:強(qiáng)制轉(zhuǎn)換和自動(dòng)轉(zhuǎn)換。24 Java語(yǔ)言中,臨界區(qū)用Synchronized關(guān)鍵字標(biāo)識(shí)。解

24、析:1通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱(chēng)為軟件生命周期。也就是說(shuō),軟件產(chǎn)品從考慮其概念開(kāi)始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。軟件生命周期的主要活動(dòng)階段為:(1)可行性研究和計(jì)劃制定。確定待開(kāi)發(fā)軟件系統(tǒng)的開(kāi)發(fā)目標(biāo)和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開(kāi)發(fā)任務(wù)的實(shí)施計(jì)劃。(2)需求分析。對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫(xiě)軟件規(guī)格說(shuō)明書(shū)及初步的用戶(hù)手冊(cè),提交評(píng)審。(3)軟件設(shè)計(jì)。系統(tǒng)設(shè)計(jì)人員和程序設(shè)計(jì)人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以

25、及處理流程。(4)軟件實(shí)現(xiàn)。把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。即完成源程序的編碼,編寫(xiě)用戶(hù)手冊(cè)、操作手冊(cè)等面向用戶(hù)的文檔,編寫(xiě)單元測(cè)試計(jì)劃。(5)軟件測(cè)試。在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上,檢驗(yàn)軟件的各個(gè)組成部分。編寫(xiě)測(cè)試分析報(bào)告。(6)運(yùn)行和維護(hù)。將已交付的軟件投入運(yùn)行,并在運(yùn)行使用中不斷地維護(hù),根據(jù)新提出的需求進(jìn)行必要而且可能的擴(kuò)充和刪改。2數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。3軟件的需求分析階段的工作,可以概括為四個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)和需求評(píng)審。需求獲

26、取的目的是確定對(duì)目標(biāo)系統(tǒng)的各方面需求。涉及到的主要任務(wù)是建立獲取用戶(hù)需求的方法框架,并支持和監(jiān)控需求獲取的過(guò)程。需求分析是對(duì)獲取的需求進(jìn)行分析和綜合,最終給出系統(tǒng)的解決方案和目標(biāo)系統(tǒng)的邏輯模型。編寫(xiě)需求規(guī)格說(shuō)明書(shū)作為需求分析的階段成果,可以為用戶(hù)、分析人員和設(shè)計(jì)人員之間的交流提供方便,可以直接支持目標(biāo)軟件系統(tǒng)的確認(rèn),又可以作為控制軟件開(kāi)發(fā)進(jìn)程的依據(jù)。需求評(píng)審是對(duì)需求分析階段的工作進(jìn)行復(fù)審,驗(yàn)證需求文檔的一致性、可行性、完整性和有效性。4標(biāo)識(shí)符命名規(guī)則為:1、標(biāo)識(shí)符是以字母、下劃線、美元符($)作為首字符的字符串序列。在首字符后面可以跟字母、下劃線、美元符和數(shù)字。2、標(biāo)識(shí)符區(qū)分大小寫(xiě)。3、標(biāo)識(shí)符

27、的字符數(shù)目沒(méi)有限制,但為便于閱讀和記憶,不宜太長(zhǎng)。5數(shù)組中l(wèi)ength是屬性,而字符串中是通過(guò)length()方法獲得字符長(zhǎng)度的,6對(duì)于二元算術(shù)運(yùn)算符,其表達(dá)式結(jié)果的類(lèi)型歸納為以下幾類(lèi)情況:(1) 操作數(shù)全為整型,那么,只要其中有一個(gè)為long型,則表達(dá)式結(jié)果為long型。(2) 兩個(gè)操作數(shù)全是byte型或short型,表達(dá)式結(jié)果也為int型。(3) 操作數(shù)為浮點(diǎn)型,只要其中有一個(gè)為double型,表達(dá)式結(jié)果就是double型。(4) 兩個(gè)操作數(shù)全是float型或其中一個(gè)是float型,而另外一個(gè)是整型,則表達(dá)式結(jié)果為float型。7 BorderLayout是Window,Frame和Dia

28、log的默認(rèn)布局管理器。BorderLayout布局管理器把容器分成5個(gè)區(qū)域:North,South,East,West和Center,每個(gè)區(qū)域只能放置一個(gè)構(gòu)件。8 FlowLayout是Panel和Applet的默認(rèn)布局管理器。構(gòu)件在容器中的放置規(guī)律是從上到下、從左到右進(jìn)行放置,如果容器足夠?qū)挘谝粋€(gè)構(gòu)件先添加到容器中第一行的最左邊,后續(xù)的構(gòu)件依次添加到上一個(gè)構(gòu)件的右邊,如果當(dāng)前行已放置不下該構(gòu)件,則放置到下一行的最左邊。構(gòu)件的大小不隨容器的大小改變而改變。9Applet顯示相關(guān)的3個(gè)方法:(1) 、paint。方法:Applet的paint。方法具體執(zhí)行Applet的繪制,該方法定義如下:

29、publicvoidpaint(Graphicsg)paint。方法有一個(gè)參數(shù)g是Graphics類(lèi)的實(shí)例,該實(shí)例對(duì)象由瀏覽器生成,它包含了Applet的圖形上下文信息,通過(guò)它向Applet中顯示信息,該對(duì)象相當(dāng)于Applet的畫(huà)筆。在調(diào)用paint()*法時(shí),由瀏覽器將該對(duì)象傳遞給paint(法。(2) 、叩date。方法:publicvoidupdate(Graphicsg)用于更新Applet的顯示。該方法將首先清除背景,再調(diào)用paint。方法完成Applet的具體繪制。(3) 、repaint。方法:publicvoidrepaint()repaint。方法主要用于Applet的重新顯

30、示,它調(diào)用update()方法實(shí)現(xiàn)對(duì)Applet的更新。10流,最早從C語(yǔ)言中引入的。其可以看成是一個(gè)流動(dòng)的數(shù)據(jù)緩沖區(qū)。數(shù)據(jù)從數(shù)據(jù)源方向經(jīng)過(guò)緩沖區(qū)流向數(shù)據(jù)的目的地。在傳送的過(guò)程中,其傳送方式是串行的。在Java中的java.io包中定義了Java中常見(jiàn)流的接口與類(lèi)。其中包括兩個(gè)最基本的流的抽象類(lèi),它們分別是OutputStream與InputStreamo其余的流都分別從這兩個(gè)基本類(lèi)中繼承而來(lái)。11在java.io包中提供了對(duì)壓縮文件進(jìn)行操作的能力。它是通過(guò)壓縮文件輸入流與壓縮文件輸出流來(lái)實(shí)現(xiàn)的,其分別繼承自InflaterlnputStream與DeflaterOutputStream。在創(chuàng)

31、建壓縮文件輸入流時(shí),其初始化參數(shù)是一個(gè)FilelnputStream類(lèi)的實(shí)例。12在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷。前序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù)。中序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。后序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷右

32、子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷左子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然先遍歷右子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷左子樹(shù)。13調(diào)式的關(guān)鍵在于推斷程序內(nèi)部的錯(cuò)誤位置及原因。其主要的調(diào)試方法有:強(qiáng)行排錯(cuò)法、溯法和原因排除法。強(qiáng)行排錯(cuò)法:是傳統(tǒng)的調(diào)試方法,其過(guò)程可概括為:設(shè)置斷點(diǎn)、程序暫停、觀察程序狀態(tài)、繼續(xù)運(yùn)行程序。這是目前使用較多、效率較低的調(diào)試方法?;厮莘ǎ涸摲椒ㄟm合于小規(guī)模程序的排錯(cuò)。即一旦發(fā)現(xiàn)了錯(cuò)誤,先分析錯(cuò)誤征兆,確定最先發(fā)現(xiàn)”癥狀”的位置。然后,從發(fā)現(xiàn)”癥狀”的地方開(kāi)始,沿程序的控制流程,逆向跟蹤源程序代碼,直到找到錯(cuò)誤根源或確定錯(cuò)誤產(chǎn)生的原因。原因排除法:是通過(guò)演繹和歸納,以及二分法來(lái)實(shí)現(xiàn)的。數(shù)

33、據(jù)庫(kù)系統(tǒng)在其內(nèi)部具有三級(jí)模式及二級(jí)映射,三級(jí)模式分別是概念級(jí)模式、內(nèi)部級(jí)模式和外部級(jí)模式。14概念模式是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶(hù)(應(yīng)用)公共數(shù)據(jù)視圖。內(nèi)模式又稱(chēng)物理模式,它給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲(chǔ)的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑,內(nèi)模式的物理性主要體現(xiàn)在操作系統(tǒng)及文件級(jí)上,它還未深入到設(shè)備級(jí)上(如磁盤(pán)及磁盤(pán)操作)。外模式也稱(chēng)子模式或用戶(hù)模式,它是用戶(hù)的數(shù)據(jù)視圖,也就是用戶(hù)所見(jiàn)到的數(shù)據(jù)模式,它由概念模式推導(dǎo)而出。數(shù)據(jù)字典是各類(lèi)數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng),是數(shù)據(jù)的最小單位;數(shù)據(jù)結(jié)構(gòu),是若干數(shù)據(jù)項(xiàng)有意義的集合;數(shù)據(jù)

34、流,可以是數(shù)據(jù)項(xiàng),也可以是數(shù)據(jù)結(jié)構(gòu),表示某一處理過(guò)程的輸入或輸出;數(shù)據(jù)存儲(chǔ),處理過(guò)程中存取的數(shù)據(jù),常常是手工憑證、手工文檔或計(jì)算機(jī)文件;處理過(guò)程。15在Java語(yǔ)言中,異常機(jī)制是:一旦出現(xiàn)異常,可以由運(yùn)行的方法或虛擬機(jī)生成一個(gè)異常對(duì)象,它包含異常事件的類(lèi)型以及發(fā)生異常時(shí)程序的狀態(tài)等信息。16異常對(duì)象從產(chǎn)生到被傳遞提交給Java運(yùn)行系統(tǒng)的過(guò)程稱(chēng)為拋出(throw)異常。一個(gè)程序中單獨(dú)的、并發(fā)的線程對(duì)同一個(gè)對(duì)象進(jìn)行訪問(wèn)的代碼段,稱(chēng)為臨界區(qū)。在Java語(yǔ)言中,臨界區(qū)可以是一個(gè)語(yǔ)句塊或是一個(gè)方法,并且用“synchronized”關(guān)鍵字標(biāo)識(shí)。(Overriding)o子類(lèi)的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子

35、類(lèi)中的定義,對(duì)它而言,父類(lèi)中的定義如同被“屏蔽”了。如果在一個(gè)類(lèi)中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類(lèi)型,則稱(chēng)為方法的重載(Overloading)oOverloaded的方法可以改變返回值的類(lèi)型。10. abstractclass和interface有什么區(qū)別?答:聲明方法的存在而不去實(shí)現(xiàn)它的類(lèi)被叫做抽象類(lèi)(abstractclass),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類(lèi),并為該類(lèi)聲明方法,但不能在該類(lèi)中實(shí)現(xiàn)該類(lèi)的情況。不能創(chuàng)建abstract類(lèi)的實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類(lèi)型是一個(gè)抽象類(lèi),并讓它指向具體子類(lèi)的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abst

36、ract類(lèi)的子類(lèi)為它們父類(lèi)中的所有抽象方法提供實(shí)現(xiàn),否則它們也是抽象類(lèi)為。取而代之,在子類(lèi)中實(shí)現(xiàn)該方法。知道其行為的其它類(lèi)可以在類(lèi)中實(shí)現(xiàn)這些方法接口(interface)是抽象類(lèi)的變體。在接口中,所有方法都是抽象的。多繼承性可通過(guò)實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒(méi)有一個(gè)有程序體。接口只可以定義staticfinal成員變量。接口的實(shí)現(xiàn)與子類(lèi)相似,除了該實(shí)現(xiàn)類(lèi)不能從接口定義中繼承行為。當(dāng)類(lèi)實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類(lèi)的任何對(duì)象上調(diào)用接口的方法。由于有抽象類(lèi),它允許使用接口名作為引用變量的類(lèi)型。通常的動(dòng)態(tài)聯(lián)編將生效。引

37、用可以轉(zhuǎn)換到接口類(lèi)型或從接口類(lèi)型轉(zhuǎn)換,instanceof運(yùn)算符可以用來(lái)決定某對(duì)象的類(lèi)是否實(shí)現(xiàn)了接口11. 構(gòu)造器Constructor是否可被override?答:可以。12. 是否可以繼承String類(lèi)?答:String類(lèi)是final類(lèi)所以不可以繼承。13. 題目如下:父類(lèi):publicclassFatherClass(publicFatherClass()(System.out.println(nFatherClassCreate'1);)子類(lèi):publicclassChildClassextendsFatherClasspublicChildClassQSystem.out.p

38、rintln(nChildCIassCreate");publicstaticvoidmain(String|args)FatherClassfc=newFatherClass();ChildClasscc=newChildClass();請(qǐng)問(wèn)輸出結(jié)果為:FatherClassCreate+FatherClassCreateChildClassCreate14. publicclassOuterClass(privatedoubledl=1.0;/insertcodehereline3從下列選項(xiàng)中選擇兩個(gè)正確的答案放在line3中(CE)A. classInnerOne(public

39、staticdoublemethoda()(returndl;B. publicclassInnerOne(staticdoublemethoda()(returndl;C. privateclassInnerOne(doublemethoda()(returndl;D. staticclassInnerOne(protecteddoublemethoda()(returndl;)E. abstractclassInnerOne(publicabstractdoublemethoda();STRING與STRINGBUFFER的區(qū)另U答:STRING的長(zhǎng)度是不可變的,一旦一個(gè)String對(duì)象被

40、創(chuàng)建,包含在這個(gè)實(shí)例中的內(nèi)容(“字符串”)不可以被更改,直至這個(gè)對(duì)象被銷(xiāo)毀,因此,指向一個(gè)String對(duì)象的變量實(shí)質(zhì)上是一個(gè)常量,String對(duì)象也被稱(chēng)為常量對(duì)象;STRINGBUFFER的長(zhǎng)度是可變的,可以通過(guò)StringBuffer的append。、insert()>reverse()>setCharAt()>setLength()等方法,口J以對(duì)這個(gè)字符串中的內(nèi)容修改。如果你對(duì)字符串中的內(nèi)容經(jīng)常進(jìn)行操作,特別是內(nèi)容要修改時(shí),那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法15. JAVA類(lèi)實(shí)現(xiàn)序例化的

41、方法是?答:JAVA類(lèi)要實(shí)現(xiàn)序列化,對(duì)應(yīng)的類(lèi)必須先實(shí)現(xiàn)Serializable和Externalizable這兩種接口,然后就可以調(diào)用ObjectOutputStream的witeObject()方法來(lái)保存對(duì)象以及通過(guò)ObjeatlnputStream的readObjeact()方法來(lái)讀取保存的對(duì)象。16. Collection框架中實(shí)現(xiàn)比較要實(shí)現(xiàn)什么接口?答:要實(shí)現(xiàn)Comparable接口,并實(shí)現(xiàn)這個(gè)接口的唯一方法cpmparaTo(),接受一個(gè)Object對(duì)象,在這個(gè)方法中可以定義對(duì)象的排序規(guī)則。17. 介紹JAVA中的Collection框架結(jié)構(gòu),并畫(huà)出來(lái)oCollection<&

42、gt;Set<>ListHashSetTreesetArrayListVector18. 編程題:列出某文件夾下的所有文件(文件夾從命令行輸入)而昆:importjava.io.*;publicclasslistFile(publicstaticvoidmain(Stringargs)(Strings="”;InputStreamReaderir=newInputStreamReader(System.in);BufferedReaderin=newBufferedReader(ir);try(s=in.readLine();Filef=newFile(s);FilelJ

43、files=f.listFiles();for(inti=0;iif(filesi.isFile()System.out.printing文件:n+filesi);else(System.out.printing目錄:"+filesi);)in.closeQ;catch(lOExceptione)(e.printStackTrace();)19. 編程題::寫(xiě)一個(gè)滿(mǎn)足Singleton模式的類(lèi)出來(lái)publicclassSingletonTestprivatestaticSingletonTestsp;privateSingletonTest()()publicstaticSingle

44、tonTestgetlnstance()if(sp=null)(sp=newSingletonTest();returnsp;20. 編程:編寫(xiě)一個(gè)截取字符串的函數(shù),輸入為一個(gè)字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。但是要保證漢字不被截半個(gè),如“我ABC"4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,6,應(yīng)該輸出為“我ABC”而不是“我ABC+漢的半個(gè)”角軍:importjava.io.*;classinterceptstring(StringinterceptStr;intinterceptByte;publicinterceptString(Stringstr,intbyt

45、es)(interceptStr=str;interceptByte=bytes;System.out.printing字符串為:"'+interceptStr+”'字節(jié)數(shù)為:n+interceptByte);)publicvoidinterceptlt()intinterceptCount;interceptCount=(interceptStr.length()%interceptByte=0)?(interceptStr.length()/jnterceptByte):(interceptStr.length()/interceptByte+1);System.

46、out.printing截取后斷數(shù)為:H+interceptCount);for(inti=l;i<=interceptCount;i+)(if(i=interceptCount)(System.out.println(interceptStr.substring(i-l)*interceptByte,interceptStr.length();elseSystem.out.println(interceptStr.substring(i-l)*interceptByte,(i*interceptByte);)publicstaticvoidmain(String|args)String

47、s="InputStreamReaderir=newInputStreamReader(System.in);BufferedReaderin=newBufferedReader(ir);try(s=in.readLine();interceptstringss=newinterceptString(s,4);erceptlt();in.close();catch(lOExceptione)(e.printStackTrace();)21. 多線程有兒種實(shí)現(xiàn)方法,都是什么?同步有兒種實(shí)現(xiàn)方法,都是什么?答:多線程有三種實(shí)現(xiàn)方法,分別為: 實(shí)現(xiàn)Runnable接口,覆蓋Ru

48、n()方法。 繼承Thread,覆蓋Run。方法。 繼承TimerTask,覆蓋Run()方法。同步的實(shí)現(xiàn)是在方法前加synchronized,在調(diào)用wait。和notify。22. 請(qǐng)說(shuō)出你所知道的線程同步的方法答:1.synchronized方法:通過(guò)在方法聲明中加入synchronized關(guān)鍵字來(lái)聲明synchronized方法。2. synchronized塊:通過(guò)synchronized關(guān)鍵字來(lái)聲明synchronized塊。23. 當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法?答:不可以。synchronized方法都必須獲得調(diào)用該

49、方法的類(lèi)實(shí)例的鎖方能執(zhí)行,否則所屬線程阻塞,方法一旦執(zhí)行,就獨(dú)占該鎖,直到從該方法返回時(shí)才將鎖釋放,此后被阻塞的線程才能獲得該鎖,重新進(jìn)入可執(zhí)行狀態(tài)。24. 用JAVASOCKET編程,實(shí)現(xiàn)簡(jiǎn)單的Echo功能如:客戶(hù)端從鍵盤(pán)輸入hi(當(dāng)用戶(hù)輸出exit退出程序),服務(wù)端響應(yīng)為hi(服務(wù)器要求為多線程)解:服務(wù)器程序:importjava.io.*;.*;publicclassMyServerextendsThread(privateSocketcq;publicMyServer(Socketcq)(this.cq=cq;publicvoidrun()tryBufferedReaderin=ne

50、wBufferedReader(newInputStreamReader(cq.getInputStream();PrintWriterout=newPrintWriter(cq.getOutputStream();while(true)Stringstr=in.readLine();System.out.println(str);out.println(Hmessage:”+str);out.flushQ;if(str.equals(nexitn)break;catch(IOExceptione)(System.out.println(e.message。);publicstaticvoid

51、main(Stringargs)throwsIOException(ServerSocketserver=newServerSocket(8009);while(true)(Sockets=server.accept。;newMyServer(s).start();)客戶(hù)端程序:.*;importjava.io.*;publicclassMyClient(publicstaticvoidmain(Stringargs)throwsException(Socketserver=newSocket(nlocalhost",8009);BufferedReaderin=newBufferedReader(newInputStreamReader(server.getInputStream();PrintWriterout=newPrintWriter(server.getOutputStream();BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in);while(true)(Stringstr=br.readLine();out.println(str);out.flush();if(str.equals(nexitn)(break;System.out.println(in.readLi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論