Java程序設(shè)計(jì)課堂練習(xí)題_第1頁(yè)
Java程序設(shè)計(jì)課堂練習(xí)題_第2頁(yè)
Java程序設(shè)計(jì)課堂練習(xí)題_第3頁(yè)
Java程序設(shè)計(jì)課堂練習(xí)題_第4頁(yè)
Java程序設(shè)計(jì)課堂練習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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)介

/《Java程序設(shè)計(jì)》練習(xí)題第一章Java編程基礎(chǔ)一、選擇題1、可以運(yùn)用【】好用程序編譯Java程序。A.javaB.javacC.javadocD.cmd2、可以運(yùn)用【】好用程序運(yùn)行java應(yīng)用程序。A.javaB.javacC.javadocD.cmd3、可以運(yùn)用【】好用程序從Java源文件代碼中抽取Java文檔注釋,生成相應(yīng)的HTML幫助文檔。A.javaB.javacC.javadocD.cmd4、Java編譯單元(源程序文件)的擴(kuò)展名為【】A..javaB..classC..docD..exe5、編譯Java源程序文件產(chǎn)生的字節(jié)碼文件的擴(kuò)展名為【】A..javaB..classC..htmlD..exe6、以下Java應(yīng)用程序執(zhí)行入口main方法的聲明中,正確的是【】A、publicstaticvoidmain()B、publicstaticvoidmain(String[]args)C、publicstaticintmain(String[]args)D、publicvoidmain(String[]args)7、Java屬于以下哪種語(yǔ)言?【】A.機(jī)器語(yǔ)言B.匯編語(yǔ)言C.高級(jí)語(yǔ)言D.以上都不對(duì)8、下面哪種類型的文件可以在Java虛擬機(jī)中運(yùn)行?【】A..javaB..jreC..exeD..classs9、Java程序中聲明包的關(guān)鍵字是【】A、java

B、package

C、javadoc

D、cmd10、假如JDK的安裝路徑為“d:\jdk”,若想在吩咐窗口中任何當(dāng)前路徑下,都可以干脆運(yùn)用javac和java吩咐,須要將環(huán)境變量path設(shè)置為以下哪個(gè)選項(xiàng)?【】A、d:\jdk;B、d:\jdk\bin;C、d:\jre\bin;D、d:\jre;11、下列說(shuō)法中,不正確的是【】。A、一個(gè)Java源文件編譯通過后,得到的結(jié)果文件數(shù)也只有一個(gè)B、一個(gè)Java源文件經(jīng)過編譯后,得到的文件的擴(kuò)展名肯定是.classC、一個(gè)Java源文件只能有一個(gè)public類定義,其類名和源文件名相同D、一個(gè)Java源文件可以包含多個(gè)類12、安裝好JDK后,在其bin書目下有很多exe可執(zhí)行文件,其中“java.exe”吩咐的作用是以下哪一種?【】。A、Java文檔制作工具B、Java說(shuō)明器C、Java編譯器D、Java啟動(dòng)器13、以下關(guān)于變量的說(shuō)法錯(cuò)誤的是【】A.變量名必需是一個(gè)有效的標(biāo)識(shí)符B.變量在定義時(shí)可以沒有初始值C.變量一旦被定義,在程序中的任何位置都可以被訪問D.在程序中,可以將一個(gè)byte類型的值賦給一個(gè)int型類型的變量,不須要特別聲明14、假設(shè)intx=2,三元表達(dá)式x>0?x+1:5的運(yùn)行結(jié)果是以下哪一個(gè)?【】A.0B.2C.3D.515、下面的運(yùn)算符中,用于執(zhí)行除法運(yùn)算的是哪個(gè)?【】A./B.\C.%D.*16、下面哪種寫法可以實(shí)現(xiàn)訪問數(shù)組arr的首個(gè)元素?【】A.a(chǎn)rr[0]B.a(chǎn)rr(0)C.a(chǎn)rr[1]D.a(chǎn)rr(1)17、以下哪個(gè)選項(xiàng)可以正確創(chuàng)建一個(gè)長(zhǎng)度為3的二維數(shù)組?【】A.newint[2][3]B.newint[3][]C.newint[][3]D.以上答案都不對(duì)18、關(guān)于變量的作用域,下列說(shuō)法錯(cuò)誤的是【】A.類成員變量的作用域?yàn)轭惗x體B.方法參數(shù)的作用域?yàn)榉椒wC.對(duì)于for語(yǔ)句中定義的變量,當(dāng)for語(yǔ)句執(zhí)行完時(shí),該變量就消亡了D.在方法voidf(inti)的for語(yǔ)句塊中,可以聲明變量“inti;”19、Java字符類型采納的是Unicode編碼方案,每個(gè)Unicode碼占用的位數(shù)是【】。A.8B.16C.32D.6420、下列賦值語(yǔ)句中,不合法的是【】。A.floatf=1.2B.floatf2=1.2fC.doubled=1.2D.doubled2=1.2f二、填空題1、Java的三個(gè)技術(shù)平臺(tái)分別是_javase___、__javaee__、__javame__。2、Java程序的運(yùn)行環(huán)境簡(jiǎn)稱之為_jre___。3、編譯Java程序須要運(yùn)用__javac__吩咐。4、_____path____環(huán)境變量用來(lái)存儲(chǔ)Java的編譯和運(yùn)行工具所在路徑,而___classpath__環(huán)境變量則用來(lái)保存Java虛擬機(jī)要運(yùn)行的“.class”文件路徑。5、在Java語(yǔ)言中,main()方法的參數(shù)是表示吩咐行參數(shù)的String數(shù)組,其中,__args[0]__表示第一個(gè)參數(shù)。6、Java應(yīng)用程序的入口方法是_____main()__,用于限制程序的起先和結(jié)束。7、Java系統(tǒng)運(yùn)行時(shí),通過__自頂垃圾收集___機(jī)制周期性地釋放無(wú)用對(duì)象所運(yùn)用的內(nèi)存,完成對(duì)象的清除。8、Java中的程序代碼都必需在一個(gè)類中定義,類運(yùn)用_class__關(guān)鍵字來(lái)定義。9、布爾常量即布爾類型的兩個(gè)值,分別是__true__和__false___。10、Java中的注釋可分為三種類型,分別是__單行___、___多行____、____文檔___。三、推斷題1、Java語(yǔ)言采納面對(duì)對(duì)象的思想編程,具有跨平臺(tái)、分布式、多線程等優(yōu)點(diǎn)。2、Java語(yǔ)言的語(yǔ)法和C或C++類似,也支持面對(duì)過程的程序設(shè)計(jì)技術(shù)。3、Java供應(yīng)了自動(dòng)垃圾收集機(jī)制進(jìn)行內(nèi)存管理,減小了內(nèi)存出錯(cuò)的可能性。4、Java語(yǔ)言的平臺(tái)無(wú)關(guān)性使得Java程序可以跨平臺(tái)運(yùn)行。5、Java虛擬機(jī)是實(shí)現(xiàn)Java語(yǔ)言平臺(tái)無(wú)關(guān)性的基礎(chǔ)。四、簡(jiǎn)答題1、簡(jiǎn)述JRE和JDK的區(qū)分。JRE,它相當(dāng)于操作系統(tǒng)部分,供應(yīng)了Java程序運(yùn)行時(shí)所須要的基本條件和很多Java基礎(chǔ)類,假如你只想運(yùn)行別人開發(fā)好的Java程序,那么,你的計(jì)算機(jī)上必需且只需安裝JRE。它包含編譯工具、說(shuō)明工具、文檔制作工具、打包工具等多種和開發(fā)相關(guān)的工具,是供應(yīng)應(yīng)Java開發(fā)人員運(yùn)用的。初學(xué)者學(xué)習(xí)和運(yùn)用Java語(yǔ)言時(shí),首先必需下載和安裝JDK。JDK中已經(jīng)包含了JRE部分,初學(xué)者安裝JDK后不必再去下載和安裝JRE了。2、什么是方法重載?方法重載指的是在一個(gè)類中可以聲明多個(gè)同名的方法,而方法中參數(shù)的個(gè)數(shù)或者數(shù)據(jù)類型不一樣。調(diào)用這些同名的方法時(shí),JVM會(huì)依據(jù)實(shí)際參數(shù)的不同綁定到不同的方法。其次章面對(duì)對(duì)象思想一、選擇題1、類的定義必需包含在以下哪種符號(hào)之間?【】A.方括號(hào)[]B.花括號(hào){}C.雙引號(hào)“”D.圓括號(hào)()2、在以下什么狀況下,構(gòu)造方法會(huì)被調(diào)用?【】A.類定義時(shí)B.創(chuàng)建對(duì)象時(shí)C.調(diào)用對(duì)象方法時(shí)D.運(yùn)用對(duì)象的變量時(shí)3、在類的繼承關(guān)系中,須要遵循以下哪個(gè)繼承原則?【】A.多重B.單一C.雙重D.不能繼承4、在Java語(yǔ)言中,以下哪個(gè)關(guān)鍵字用于在方法上聲明拋出異樣【】A、tryB、catchC、throwsD、throw5、關(guān)于super關(guān)鍵字以下說(shuō)法哪些是不正確的【】。A.super關(guān)鍵字可以調(diào)用父類的構(gòu)造方法B.super關(guān)鍵字可以調(diào)用父類的一般方法C.super和this不能同時(shí)存在于同一個(gè)構(gòu)造方法中D.super和this可以同時(shí)存在于同一個(gè)構(gòu)造方法中6、類中的一個(gè)成員方法被下面哪個(gè)修飾符修飾時(shí),該方法只能在本類被訪問?【】。A.publicB.protectedC.privateD.default7、在Java中,要想讓一個(gè)類繼承另一個(gè)類,可以運(yùn)用以下哪個(gè)關(guān)鍵字?【】A、inheritsB、implementsC、extendsD、modifies8、System類位于以下哪個(gè)包中?【】。A、java.ioB、java.utilC、java.awtD、java.lang9、以下關(guān)于繼承的說(shuō)法,正確的是【】。A.繼承可以避開代碼復(fù)制和相關(guān)的代碼維護(hù)等問題B.Java語(yǔ)言中一個(gè)子類可以繼承多個(gè)基類(多重繼承)C.Java語(yǔ)言不允許實(shí)現(xiàn)多個(gè)接口D.子類可以繼承父類的方法,但不能重新改寫父類的方法10、下列修飾符中,不能用來(lái)修飾類的是【】。A.publicB.a(chǎn)bstractC.finalD.static二、填空題1、面對(duì)對(duì)象的三大特征是__封裝___、___繼承___和____多態(tài)___。2、在Java中,可以運(yùn)用關(guān)鍵字__new___來(lái)創(chuàng)建類的實(shí)例對(duì)象。3、定義在類中的變量被稱為__成員變量_____,定義在方法中的變量被稱為__局部變量___。4、在非靜態(tài)成員方法中,可以運(yùn)用關(guān)鍵字_this_訪問類的其他非靜態(tài)成員。5、被static關(guān)鍵字修飾的成員變量被稱為__靜態(tài)變量____,它可以被該類全部的實(shí)例對(duì)象共享。6、在一個(gè)類中,除了可以定義屬性、方法,還可以定義類,這樣的類被稱為__內(nèi)部類___。7、在Java語(yǔ)言中,允許運(yùn)用已存在的類作為基礎(chǔ)創(chuàng)建新的類,這種技術(shù)稱為___繼承__。8、一個(gè)類假如實(shí)現(xiàn)一個(gè)接口,那么它就須要實(shí)現(xiàn)接口中定義的全部_方法_,否則該類就必需定義成____抽象類__。9、在程序開發(fā)中,要想將一個(gè)包中的類導(dǎo)入到當(dāng)前程序中,可以運(yùn)用_import_關(guān)鍵字。10、一個(gè)類可以從其他的類派生出來(lái),派生出來(lái)的類稱為__子類__,用于派生的類稱為__父類__或者_(dá)基類__。三、推斷題1、在定義一個(gè)類的時(shí)候,假如類的成員被private所修飾,該成員不能在類的外部被干脆訪問。2、Java中的每個(gè)類都至少有一個(gè)構(gòu)造方法,一個(gè)類中假如沒有定義構(gòu)造方法,系統(tǒng)會(huì)自動(dòng)為這個(gè)類創(chuàng)建一個(gè)默認(rèn)的構(gòu)造方法。3、聲明構(gòu)造方法時(shí),不能運(yùn)用private關(guān)鍵字修飾。4、類中static修飾的變量或方法,可以運(yùn)用類名或?qū)ο蟮囊米兞吭L問。5、方法內(nèi)部類中不能訪問外部類的成員變量。四、簡(jiǎn)答題1、構(gòu)造方法和一般的成員方法有什么區(qū)分?2、抽象類和接口的區(qū)分是什么?3、什么叫多態(tài)?1.構(gòu)造方法是類的一個(gè)特別成員,它會(huì)在類實(shí)例化對(duì)象時(shí)被自動(dòng)調(diào)用。而一般方法只有在運(yùn)用的時(shí)候才會(huì)被調(diào)用。在定義構(gòu)造方法時(shí)要求方法名和類名相同、在方法名的前面沒有返回值類型的聲明、在方法中不能運(yùn)用return語(yǔ)句返回一個(gè)值。2.在Java中,運(yùn)用abstract關(guān)鍵字修飾的類稱之為抽象類。抽象類是不能被實(shí)例化的,通常須要寫一個(gè)子類來(lái)繼承抽象類,同時(shí)實(shí)例化子類來(lái)獲得該類的對(duì)象。抽象類通常用于表示一種抽象的概念。接口可以說(shuō)是一種特別的抽象類,接口中只能定義常量和抽象方法。由于接口的特別性,在定義時(shí)須要運(yùn)用interface關(guān)鍵字。3.多態(tài)意味著一個(gè)對(duì)象有著多種形態(tài),可以在特定的狀況下,表現(xiàn)不同的狀態(tài),從而對(duì)應(yīng)著不同的屬性和方法。簡(jiǎn)潔的說(shuō),多態(tài)就是運(yùn)用父類類型的變量引用子類對(duì)象,依據(jù)被引用子類對(duì)象的特性,程序會(huì)得到不同的運(yùn)行效果。第三章多線程一、選擇題1、Thread類位于下列哪個(gè)包中?【】A.java.ioB.java.langC.java.utilD.java.awt2、線程調(diào)用sleep()方法后,該線程將進(jìn)入以下哪種狀態(tài)?【】A.就緒狀態(tài)B.運(yùn)行狀態(tài)C.堵塞狀態(tài)D.死亡狀態(tài)3、在以下哪種狀況下,線程進(jìn)入就緒狀態(tài)?【】。A.線程調(diào)用了sleep()方法時(shí)B.線程調(diào)用了join()方法C.線程調(diào)用了yield()方法時(shí)D.線程調(diào)用了notify()方法4、對(duì)于通過實(shí)現(xiàn)Runnable接口創(chuàng)建線程,下面說(shuō)法不正確的是【】。A、適合多個(gè)相同程序代碼的線程去處理同一個(gè)資源的狀況B、把線程同程序代碼、數(shù)據(jù)有效的分別,很好地體現(xiàn)了面對(duì)對(duì)象的設(shè)計(jì)思想C、可以避開由于Java的單繼承帶來(lái)的局限性D、編寫簡(jiǎn)潔,可以不通過Thread類干脆創(chuàng)建線程5、對(duì)于死鎖的描述,下面四種說(shuō)法不正確的是【】。A.當(dāng)兩個(gè)線程相互等待對(duì)方釋放同步鎖時(shí)會(huì)發(fā)生死鎖B.Java虛擬機(jī)沒有檢測(cè)和處理死鎖的措施C.一旦出現(xiàn)死鎖,程序會(huì)發(fā)生異樣D.處于死鎖狀態(tài)的線程處于堵塞狀態(tài),無(wú)法接著運(yùn)行6、下面四個(gè)選項(xiàng)中,不是線程進(jìn)入堵塞狀態(tài)的緣由是【】。A.線程試圖獲得某個(gè)對(duì)象的同步鎖,而該鎖被其他線程持有B.線程調(diào)用了另一個(gè)線程的join()方法C.線程調(diào)用了一個(gè)堵塞式的IO方法D.線程調(diào)用了setDaemon(booleanb)方法7、要?jiǎng)?chuàng)建一個(gè)線程類,可通過繼承【】類。A、ObjectB、ThreadC、RunnableD、Task8、通過實(shí)現(xiàn)【】接口,可創(chuàng)建一個(gè)線程類A、ObjectB、ThreadC、RunnableD、Task9、通過重寫繼承的方法【】,可實(shí)現(xiàn)線程要執(zhí)行的邏輯操作。A.start()B.main()C.run()D.execute()10、通過調(diào)用線程對(duì)象實(shí)例的【】方法,可以啟動(dòng)執(zhí)行該線程。A.start()B.main()C.run()D.execute()二、填空題1、一個(gè)應(yīng)用程序中有多條并發(fā)執(zhí)行的線索,每條線索都被稱作一個(gè)__線程_,它們會(huì)交替執(zhí)行,彼此間可以進(jìn)行__通信_(tái)_。2、在實(shí)現(xiàn)多線程的程序時(shí)有兩種方式,一是通過繼承__thread_類,二是通過實(shí)現(xiàn)__runnable___接口。3、yield()方法只能讓相同優(yōu)先級(jí)或者更高優(yōu)先級(jí)、處于__就緒_狀態(tài)的線程獲得運(yùn)行的機(jī)會(huì)。4、在Java語(yǔ)言中,同步方法須要用到關(guān)鍵字__synchronized___,對(duì)于同步方法而言無(wú)須指定同步鎖,它的同步鎖是方法所在的_對(duì)象__,也就是_this__(關(guān)鍵字)。5、在Thread類中,start()方法用于開啟一個(gè)_新線程___,當(dāng)線程啟動(dòng)后,系統(tǒng)會(huì)自動(dòng)調(diào)用___run()__方法。三、推斷題1、當(dāng)創(chuàng)建一個(gè)線程對(duì)象時(shí),該對(duì)象表示的線程就馬上起先運(yùn)行。2、假如前臺(tái)線程全部死亡,后臺(tái)線程也會(huì)自動(dòng)死亡。3、同步代碼塊中的鎖對(duì)象可以是隨意類型的對(duì)象。4、靜態(tài)方法不能運(yùn)用synchronized關(guān)鍵字來(lái)修飾。5、線程結(jié)束等待或者堵塞狀態(tài)后,會(huì)進(jìn)入運(yùn)行狀態(tài)。四、簡(jiǎn)答題1、在Java中創(chuàng)建線程有幾種方式?2、sleep()和wait()有什么區(qū)分?五、分析題1、閱讀下面的程序,分析代碼是否能編譯通過,假如能編譯通過,請(qǐng)列出運(yùn)行的結(jié)果。假如不能編譯通過,請(qǐng)說(shuō)明緣由。classRunHandler{ publicvoidrun(){ System.out.println("run"); }}publicclassTest{ publicstaticvoidmain(String[]args){ Threadt=newThread(newRunHandler()); t.start(); }}2、閱讀下面的程序,分析代碼是否能編譯通過,假如能編譯通過,請(qǐng)列出運(yùn)行的結(jié)果。假如不能編譯通過,請(qǐng)說(shuō)明緣由。publicclassAextendsThread{ protectedvoidrun(){ System.out.println("thisisrun()"); } publicstaticvoidmain(String[]args){ Aa=newA(); a.start(); }}3、閱讀下面的程序,分析代碼是否能編譯通過,假如能編譯通過,請(qǐng)列出運(yùn)行的結(jié)果。假如不能編譯通過,請(qǐng)說(shuō)明緣由。publicclassTest{ privateObjectobj=newObject(); publicsynchronizedvoida(){ try{ obj.wait(); System.out.println("waiting"); }catch(InterruptedExceptione){ System.out.println("Exception"); } } publicstaticvoidmain(String[]args){ newTest().a(); }}六、設(shè)計(jì)題1、聲明線程類TalkThread,循環(huán)打印線程名稱10次(表示10次發(fā)言機(jī)會(huì));創(chuàng)建測(cè)試類,創(chuàng)建3個(gè)對(duì)象(表示3個(gè)發(fā)言人)并啟動(dòng)線程,視察輸出結(jié)果(3個(gè)發(fā)言人的發(fā)言依次)。第四章JavaAPI一、選擇題1、先閱讀下面的程序片段Stringstr="abccdefcdh"String[]arr=str.split("c");System.out.println(arr.length);程序執(zhí)行后,打印的結(jié)果是幾?【】A.2B.3C.4D.52、以下都是Math類的常用方法,其中用于計(jì)算肯定值的方法是哪個(gè)【】。A.ciel()B.floor()C.a(chǎn)bs()D.random()3、Random對(duì)象能夠生成以下哪種類型的隨機(jī)數(shù)?【】。A.intB.StringC.doubleD.A和C4、Strings=“abcdedcba”;則s.subString(3,4)返回的字符串是以下選項(xiàng)中的哪個(gè)?【】。A、cdB、deC、dD、e5、假如indexOf()方法未能找到所指定的子字符串,則返回以下選項(xiàng)中的哪個(gè)?【】。A.falseB.0C.-1D.以上答案都不對(duì)6、以下Math類的方法中,-4.4通過哪個(gè)方法運(yùn)算后,結(jié)果為-5.0【】。A.round()B.min()C.floor()D.ceil()7、已知inti=(int)(Math.random()*100),則i不行能為【】。A.0B.1C.99D.1008、已知Stringstr=“abc計(jì)算機(jī)123”,則str.length()的值為【】。A.9B.10C.12D.189、已知Stringa=“Hello”,Stringb=a.subString(0,2),則b=【】。A.HelloB.HeC.HelD.null10、下列方法中,【】不是StringBuffer類的成員方法A.compareTo()B.indexOfC.a(chǎn)ppendD.charAt()二、填空題1、在Java中定義了兩個(gè)類來(lái)封裝對(duì)字符串的操作,它們分別是___________和_________________。2、Java中操作日期的類有____________、_____________、_______________。3、Math類中用于計(jì)算所傳遞參數(shù)平方根的方法是_______________。4、Java中特地用于將日期格式化為字符串的類是________________。5、Java中用于產(chǎn)生隨機(jī)數(shù)的類是_____________,它位于_____________包中。6、String類中用于返回字符串字符個(gè)數(shù)的方法是________________。三、推斷題1、String對(duì)象和StringBuffer對(duì)象都是字符串變量,創(chuàng)建后都可以修改。2、用運(yùn)算符==比較字符串對(duì)象時(shí),假如兩個(gè)字符串的值相同,結(jié)果為true。3、Ssytem類中的currentTimeMillis()方法返回一個(gè)long類型的值。4、Date、Calendar以及DateFormat類都位于java.util包中。5、String類的方法replace(CharSequencestr1,CharSequencestr2)返回一個(gè)新的字符串,它是通過用str2替換此字符串中出現(xiàn)的全部str1得到的。四、簡(jiǎn)答題1、String和StringBuffer有什么區(qū)分?2、Date和Calendar類有什么區(qū)分和聯(lián)系?第五章集合類一、選擇題1、Java語(yǔ)言中,集合類都位于哪個(gè)包中?【】A.java.utilB.java.langC.java.arrayD.java.collections2、運(yùn)用Iterator時(shí),推斷是否存在下一個(gè)元素可以運(yùn)用以下哪個(gè)方法?【】A.next()B.hash()C.hasPreviousD.hasNext()3、在程序開發(fā)中,常常會(huì)運(yùn)用以下哪個(gè)類來(lái)存儲(chǔ)程序中所需的配置?【】A.HashMapB.TreeSetC.PropertiesD.TreeMap4、要想集合中保存的元素沒有重復(fù)并且依據(jù)肯定的依次排列,可以運(yùn)用以下哪個(gè)集合?【】A.LinkedListB.ArrayListC.HashSetD.TreeSet5、以下哪個(gè)方法不是LinkedList集合中定義的?【】A.getLast()B.getFirst()C.remove(intindex)D.next()6、獲得單列集合中元素的個(gè)數(shù)可以運(yùn)用以下哪個(gè)方法?A.length()B.size()C.get(intindex)D.a(chǎn)dd(Objectobj)7、下列集合類型中,不允許集合中存在重復(fù)項(xiàng)的是【】A.CollectionB.ListC.SetD.Queue8、下列關(guān)于List接口的說(shuō)法,錯(cuò)誤的是【】A.繼承Collection接口B.不允許重復(fù)項(xiàng)C.支持遍歷D.可以運(yùn)用訪問索引9、下列關(guān)于Set接口的說(shuō)法,錯(cuò)誤的是【】A.繼承Collection接口B.不允許重復(fù)項(xiàng)C.支持遍歷D.可以運(yùn)用訪問索引10、下列關(guān)于Collections類的靜態(tài)方法binarySerach()的說(shuō)法,錯(cuò)誤的是【】A.運(yùn)用二分搜尋法搜尋指定列表B.假如沒有找到,則返回負(fù)值C.查找前列表必需先排序D.假如有多個(gè)相同元素,則返回第一個(gè)的索引二、填空題1、JDK中供應(yīng)了一系列可以存儲(chǔ)隨意對(duì)象的類,統(tǒng)稱為____________2、在創(chuàng)建TreeSet對(duì)象時(shí),可以傳入自定義的比較器,自定義比較器須要實(shí)現(xiàn)_______________接口。3、運(yùn)用Iterator遍歷集合時(shí),首先須要調(diào)用______________方法推斷是否存在下一個(gè)元素,若存在下一個(gè)元素,則調(diào)用_____________方法取出該元素。4、運(yùn)用Iterator遍歷集合時(shí),首先須要調(diào)用______________方法推斷是否存在下一個(gè)元素,若存在下一個(gè)元素,則調(diào)用_____________方法取出該元素。5、集合依據(jù)存儲(chǔ)結(jié)構(gòu)的不同可分為單列集合和雙列集合,單列集合的根接口是________________,雙列集合的根接口是___________。6、Map集合中的元素都是成對(duì)出現(xiàn)的,并且都是以__________、_________的映射關(guān)系存在。7、Iterator有一個(gè)子類,不僅可以對(duì)集合進(jìn)行從前向右遍歷,還可以從后向前遍歷,該類是______________。8、List集合的主要實(shí)現(xiàn)類有__________、__________,Set集合的主要實(shí)現(xiàn)類有__________、__________,Map集合的主要實(shí)現(xiàn)類有__________、_________。9、Map集合中存在元素須要調(diào)用____________方法,要想依據(jù)該集合的鍵獲得對(duì)應(yīng)的值須要調(diào)用___________方法。10、java.util包中供應(yīng)了一個(gè)特地用來(lái)操作集合的工具類,這個(gè)類是________,還供應(yīng)了一個(gè)特地用于操作數(shù)組的工具類,這個(gè)類是____________。三、推斷題1.Set集合是通過鍵值對(duì)的方式來(lái)存儲(chǔ)對(duì)象的。2.集合中不能存放基本數(shù)據(jù)類型,而只能存放引用數(shù)據(jù)類型。3.假如創(chuàng)建的TreeSet集合中沒有傳入比較器,則該集合中存入的元素須要實(shí)現(xiàn)Comparable接口。4.運(yùn)用Iterator迭代集合元素時(shí),可以調(diào)用集合對(duì)象的方法增刪元素。5.LinkedList在內(nèi)部維護(hù)了一個(gè)雙向循環(huán)鏈表,每一個(gè)元素節(jié)點(diǎn)都包含前一個(gè)元素節(jié)點(diǎn)和后一個(gè)元素節(jié)點(diǎn)的引用。四、簡(jiǎn)答題1、集合中的List、Set、Map有什么區(qū)分?2、請(qǐng)說(shuō)說(shuō)Collection和Collections有什么區(qū)分?五、分析題1、分析下面的程序,然后寫出程序的運(yùn)行結(jié)果:importjava.util.*;publicclassExp0719{ publicstaticvoidmain(String[]args){ Mapmap=newLinkedHashMap(); map.put("1","Jack"); map.put("2","Rose"); map.put("3","Lucy"); SetkeySet=map.keySet(); Iteratorit=keySet.iterator(); while(it.hasNext()){ Objectkey=it.next(); Objectvalue=map.get(key); System.out.println(key+":"+value); } }}2、分析下面的程序,然后寫出程序的運(yùn)行結(jié)果:importjava.util.*;publicclassExp0720{ publicstaticvoidmain(String[]args){ TreeMaptm=newTreeMap(); tm.put("1","Jack"); tm.put("2","Rose"); tm.put("3","Lucy"); SetkeySet=tm.keySet(); Iteratorit=keySet.iterator(); while(it.hasNext()){ Objectkey=it.next(); Objectvalue=tm.get(key); System.out.println(key+":"+value); } }}六、設(shè)計(jì)題1、已知學(xué)生類s6_Stud4,成員變量有no(學(xué)號(hào),int)、name(姓名,String)、chinese(語(yǔ)文成果,int)和math(數(shù)學(xué)成果,int)。編程,要求按總成果降序排列,若總成果相同,按語(yǔ)文成果降序排列,并編制簡(jiǎn)潔的測(cè)試類。第六章JavaIO(輸入輸出)一、選擇題1、以下選項(xiàng)中,哪個(gè)是FileOutputStream的父類【】A.FileB.FileOutputC.OutputStreamD.InputStream2、File類中以字符串形式返回文件肯定路徑的方法是【】A.getParent()B.getName()C.getAbsolutePath()D.getPath()3、以下哪個(gè)不是InputStream類的方法?【】A.intread(byte[])B.voidflush()C.DataOutputStreamD.a(chǎn)vailable4、以下選項(xiàng)中,哪個(gè)流中運(yùn)用了緩沖區(qū)技術(shù)?【】A.BufferedOutputStreamB.FileInputStreamC.DataOutputStreamD.FileReader5、以下選項(xiàng)中,哪個(gè)是File類delete()方法返回值的類型?【】A.booleanB.intC.StringD.Integer6、以下選項(xiàng)中,哪個(gè)文件操作類可以實(shí)現(xiàn)一次讀入多個(gè)文件?【】。A、FileReader

B、BufferedReaderC、FileInputStream

D、SequenceInputStream7、以下對(duì)File類的publicbooleanisFile()方法的描述,哪個(gè)是正確的【】。A、推斷該File對(duì)象所對(duì)應(yīng)的是否是文件B、推斷該File對(duì)象所對(duì)應(yīng)的是否是書目C、返回文件的最終修改時(shí)間D、在當(dāng)前書目下生成指定的書目8、以下哪個(gè)包和Java.nio包共同供應(yīng)了用于輸入/輸出流和文件操作的各種類型【】。A、java.lang

B、java.utilC、java.io

D、java.text9、BufferedReader的父類是【】。A、Reader

B、FileReader

C、PipedReader

D、InputStreamReader10、要確定磁盤分區(qū)的容量和可用空閑空間等信息,可以運(yùn)用的類是【】。A、DriveB、DirectoryC、FileD、FileOutputStream二、填空題1、Java中的IO流,依據(jù)傳輸數(shù)據(jù)不同,可分為____________和__________。2、在Java中,__________類用于操作磁盤中的文件和書目,位于___________包中。3、在Java中,______________________類用來(lái)把兩個(gè)或更多的InputStream輸入流對(duì)象合并為單個(gè)InputStream輸入流對(duì)象運(yùn)用。4、Java中供應(yīng)了一個(gè)類____________________,它不但具有讀寫文件的功能,并且可以隨機(jī)地從文件的任何位置起先執(zhí)行讀寫數(shù)據(jù)的操作。5、在Java中,能實(shí)現(xiàn)線程間通信的流是_____________。6、InputStreamReader類是用于將____________流轉(zhuǎn)換為____________。三、推斷題1、假如一個(gè)File表示書目下有文件或者子書目,調(diào)用delete()方法也可以將其刪除。2、裝飾設(shè)計(jì)模式中,裝飾對(duì)象應(yīng)當(dāng)包含一個(gè)被裝飾對(duì)象的引用。3、運(yùn)用ObjectInputStream和ObjectOutputStream類來(lái)讀取或存儲(chǔ)的對(duì)象必須要實(shí)現(xiàn)Serializable接口,否則程序?qū)⒊霈F(xiàn)NotSerializableException異樣。4、InputStream類的close()方法是用于關(guān)閉流并且釋放流所占的系統(tǒng)資源。5、一般來(lái)說(shuō),把字符轉(zhuǎn)換成計(jì)算機(jī)識(shí)別的字節(jié)序列稱為解碼,而把字節(jié)序列轉(zhuǎn)換為一般人能看懂的明文字符稱為編碼。四、簡(jiǎn)答題1、Java流被分為字節(jié)流、字符流兩大流類,兩者有什么區(qū)分?六、設(shè)計(jì)題1、創(chuàng)建新的文本文件myFile.txt,從限制臺(tái)輸入內(nèi)容并寫入源文件中,然后讀取并顯示myFile.txt內(nèi)容。2、在指定的文本文件中查找指定的關(guān)鍵字,并打印包含結(jié)果的行。文本文件和關(guān)鍵字均由吩咐行參數(shù)指定。第七章GUI(圖形用戶界面)一、選擇題1、下面四個(gè)組件中哪一個(gè)不是Component的子類?【】A.ButtonB.DialogC.LabelD.MenuBar2、每個(gè)GUI程序中必需包含一個(gè)什么組件【】A.按鈕B.標(biāo)簽C.菜單D.容器3、當(dāng)鼠標(biāo)按鍵被釋放時(shí),會(huì)調(diào)用以下哪個(gè)事務(wù)處理器方法?【】A.mouseReleased()B.mouseUp()C.mouseOffD.mouseLetGo4、ActionEvent的對(duì)象會(huì)被傳遞給以下哪個(gè)事務(wù)處理器方法?【】A.a(chǎn)ddChangeListener()B.a(chǎn)ddActionListener()C.stateChanged()D.a(chǎn)ctionPerformed()5、下面哪個(gè)不是FlowLayout類中表示對(duì)齊方式的常量?【】A.FlowLayout.LEFTB.FlowLayout.CENTERC.FlowLayout.VERTICALD.FlowLayout.RIGHT6、下面對(duì)Swing的描述,不正確的是【】。A、Swing是在AWT基礎(chǔ)上構(gòu)建的一套新的圖形界面系統(tǒng)B、Swing供應(yīng)了AWT所能夠供應(yīng)的全部功能C、Swing組件是用Java代碼來(lái)實(shí)現(xiàn)的D、Swing組件都是重量級(jí)組件7、下面四對(duì)AWT和Swing對(duì)應(yīng)組件中,錯(cuò)誤的是【】。A、Button和JButtonB、Dialog和JDialogC、MenuBar和JMenuBarD、ComboBox和JComboBox8、運(yùn)用下面哪個(gè)組件可以接收用戶的輸入信息【】。A、JButton

B、JLabelC、JTextField

D、以上都可以9、JFrame的默認(rèn)布局管理器為【】。A、BorderLayout

B、FlowLayout

C、BoxLayout

D、GridLayout10、Japplet的默認(rèn)布局管理器為【】。A、BorderLayout

B、FlowLayout

C、BoxLayout

D、GridLayout11、Jpanel的默認(rèn)布局管理器為【】A、BorderLayout

B、FlowLayout

C、BoxLayout

D、GridLayout12、將組件垂直擺放在一列或水平擺放在一行中的布局管理器是【】A、BorderLayout

B、FlowLayout

C、BoxLayout

D、GridLayout13、下列事務(wù)中,不屬于低級(jí)事務(wù)【】。A.KeyEventB.MouseEventC.WindoweventD.ActionEvent14、在類中若要處理ActionEvent事務(wù),則該類須要實(shí)現(xiàn)的接口是【】A.ActionB.RunnableC.SerializableD.ActionListener15、下列關(guān)于事務(wù)的說(shuō)法中,不正確的是【】A.一個(gè)組件可以引發(fā)多種事務(wù)B.一個(gè)組件可以注冊(cè)多個(gè)事務(wù)監(jiān)聽器C.一個(gè)監(jiān)聽器只能監(jiān)聽一個(gè)組件D.一個(gè)監(jiān)聽器可以監(jiān)聽處理多種事務(wù)二、填空題1、在Java中,圖形用戶界面簡(jiǎn)稱__________,它的組件包含在___________和____________這兩個(gè)包中。2、為了避開實(shí)現(xiàn)監(jiān)聽器中定義的全部方法,造成代碼的臃腫,在JDK中供應(yīng)了一些__________類,這些類實(shí)現(xiàn)了接口全部的方法,但是方法中沒有任何代碼,屬于一種空實(shí)現(xiàn)。3、在Java中,____________類相當(dāng)于一個(gè)抽象的畫筆對(duì)象,運(yùn)用它可以在組件上繪制圖形。4、_____________負(fù)責(zé)監(jiān)聽事務(wù)源上發(fā)生的事務(wù),并對(duì)各種事務(wù)做出響應(yīng)處理。5、在部分的Swing組件都是_____________類的干脆或者間接子類,其名稱都是在原來(lái)AWT組件名稱前加上字母J。三、推斷題1、容器(Container)是一個(gè)可以包含基本組件和其他容器的組件。2、可以通過實(shí)現(xiàn)ActionListener接口或者繼承ActionAdapter類來(lái)實(shí)現(xiàn)動(dòng)作事務(wù)監(jiān)聽器。3、CardLayout布局管理器將界面看做一系列卡片,在任何時(shí)候只有其中一張卡片是可見的。4、非模態(tài)對(duì)話框是指用戶須要等到處理完對(duì)話框后才能接著和其他窗口進(jìn)行交互。5、JFrame的默認(rèn)布局管理器是FlowLayout。四、簡(jiǎn)答題1、簡(jiǎn)述AWT和Swing的區(qū)分。六、設(shè)計(jì)題1、運(yùn)用JLabel、JTextField、JButton控件實(shí)現(xiàn)攝氏溫度和華氏溫度的轉(zhuǎn)換。運(yùn)行結(jié)果如圖所示:(a)攝氏轉(zhuǎn)華氏(a)攝氏轉(zhuǎn)華氏(b)華氏轉(zhuǎn)攝氏2、編程,在程序中建立一個(gè)窗口,其中包含兩個(gè)文本框和一個(gè)按鈕,單擊按鈕,能將一個(gè)文本框中的內(nèi)容復(fù)制到另一個(gè)文本框中,程序運(yùn)行結(jié)果如圖所示:第八章網(wǎng)絡(luò)編程一、選擇題1、運(yùn)用UDP協(xié)議通信時(shí),須要運(yùn)用哪個(gè)類把要發(fā)送的數(shù)據(jù)打包?【】A.SocketB.DatagramSocketC.DatagramPacketD.ServerSocket2、以下哪個(gè)是serverSocket類用于接收來(lái)自客戶端懇求的方法?【】A.a(chǎn)ccept()B.getOutputStream()C.receive()D.get()3、以下說(shuō)法不正確的是【】A.TCP連接中必須要明確客戶端和服務(wù)器端B.TCP協(xié)議是面對(duì)連接的通信協(xié)議,它供應(yīng)了兩臺(tái)計(jì)算機(jī)之間牢靠無(wú)差錯(cuò)的數(shù)據(jù)傳輸C.UDP協(xié)議是面對(duì)無(wú)連接的協(xié)議,可以保證數(shù)據(jù)的完整性D.UDP協(xié)議消耗資源小,通信效率高,通常被用于音頻、視頻和一般數(shù)據(jù)的傳輸4、以下哪個(gè)類用于實(shí)現(xiàn)TCP通信的客戶端程序?【】A.ServerSocketB.SocketC.ClientD.Server5、進(jìn)行UDP通信時(shí),在接收端若要獲得發(fā)送端的IP地址,可以運(yùn)用DatagramPacket的哪個(gè)方法?【】A.getAddress()B.getPort()C.getName()D.getData()6、以下哪個(gè)方法是DatagramSocket類用于發(fā)送數(shù)據(jù)的方法?【】A.receive()B.a(chǎn)ccept()C.set()D.send()7、在程序運(yùn)行時(shí),DatagramSocket的哪個(gè)方法會(huì)發(fā)生堵塞?【】A.send()B.receive()C.close()D.connect()8、TCP協(xié)議的“三次握手”中,第一次握手指的是什么?【】A.客戶端再次向服務(wù)器端發(fā)送確認(rèn)信息,確認(rèn)連接B.服務(wù)器端向客戶端回送一個(gè)響應(yīng),通知客戶端收到了連接懇求C.客戶端向服務(wù)器端發(fā)出連接懇求,等待服務(wù)器確認(rèn)D.以上答案全部錯(cuò)誤9、TCP/IP系統(tǒng)中的端

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論