大工14秋《Java程序設(shè)計(jì)》開(kāi)卷考試期末復(fù)習(xí)題_第1頁(yè)
大工14秋《Java程序設(shè)計(jì)》開(kāi)卷考試期末復(fù)習(xí)題_第2頁(yè)
大工14秋《Java程序設(shè)計(jì)》開(kāi)卷考試期末復(fù)習(xí)題_第3頁(yè)
大工14秋《Java程序設(shè)計(jì)》開(kāi)卷考試期末復(fù)習(xí)題_第4頁(yè)
大工14秋《Java程序設(shè)計(jì)》開(kāi)卷考試期末復(fù)習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩18頁(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、真誠(chéng)為您提供優(yōu)質(zhì)參考資料,若有不當(dāng)之處,請(qǐng)指正。期末復(fù)習(xí)資料一、單選題1、關(guān)于可以獨(dú)立運(yùn)行的Java應(yīng)用程序,下列說(shuō)法哪個(gè)是正確的( )?23 / 23A無(wú)須main方法B必須有兩個(gè)main方法C可以有多個(gè)或0個(gè)main方法D必須有一個(gè)main方法2、Java創(chuàng)建一個(gè)對(duì)象使用的關(guān)鍵字是( )。AclassBinterfaceCnewDcreate3、執(zhí)行如下代碼:intx=new int5;,以下哪項(xiàng)說(shuō)明是正確的?( )Ax4為0Bx4未定義Cx5為0Dx0為空4、用關(guān)鍵字abstract定義的類( )。A可以被實(shí)例化B不能派生子類C不能被繼承D只能被繼承5、假設(shè)對(duì)象x具有屬性a,則訪問(wèn)該屬性

2、的方法是( )。Aa.xBa.x()Cx.aDx.a()6、下面是一個(gè)無(wú)修飾符的類:class Car.,則類Car( )。A可被其他程序包中的類使用B僅能被本程序包中的類使用C不能被任何類使用D不能被其他類繼承7、構(gòu)造方法在什么時(shí)候被調(diào)用( )?A類定義時(shí)B使用對(duì)象的屬性時(shí)C使用對(duì)象的方法時(shí)D對(duì)象被創(chuàng)建時(shí)8、下列選項(xiàng)不允許作為類及類成員訪問(wèn)控制符的是( )。ApublicBprivateCstaticDprotected9、表達(dá)式(short)(8/9.2*5)的值類型為( )。AshortBintCdoubleDfloat10、類B和類C都不是抽象類,并且類B是類C的父類。下面聲明對(duì)象x1

3、的語(yǔ)句不正確的是( )。AB x1=new B()CC x1=new C()BB x1=new C()DC x1=new B()11、下列關(guān)于Java內(nèi)部類的敘述錯(cuò)誤的是( )。A內(nèi)嵌類型可以與外層類型同名C內(nèi)部類中可以聲明成員變量和成員方法B內(nèi)部類可以聲明為抽象類D內(nèi)部類可以繼承父類或?qū)崿F(xiàn)接口12、表達(dá)式:(ab)?(cd)?a:c:d,(其中a=5,b=9,c=1,d=9)的值為( )。A5B8C1D913、下列哪一個(gè)方法不是Applet生命周期相關(guān)的4個(gè)方法之一( )。Ainit()Bstart()Cwait()Dstop()14、下面的Java變量中,不屬于復(fù)合類型的數(shù)據(jù)類型是( )。

4、A類B字符型C數(shù)組型D接口15、構(gòu)造方法何時(shí)被調(diào)用( )。A 類定義時(shí)B 調(diào)用對(duì)象方法時(shí)C創(chuàng)建對(duì)象時(shí)D使用對(duì)象變量時(shí)16、Java程序的執(zhí)行過(guò)程中用到一套JDK工具,其中javac.exe是指( )。AJava文檔生成器BJava解釋器CJava編譯器DJava類分解器17、定義一個(gè)名為“Car”的類,并且該類可被一個(gè)工程中的所有類訪問(wèn),那么該類的正確聲明應(yīng)該為( )。Aprivate class Car extends ObjectCclass Car extends ObjectBpublic class CarDprivate class Car18、當(dāng)方法遇到異常又不知如何處理時(shí),下列

5、哪種說(shuō)法是正確的( )。A捕獲異常B拋出異常C聲明異常D嵌套異常19、Java中的哪個(gè)類提供了隨機(jī)訪問(wèn)文件的功能( )。ARandomAccessFile類CRandomFile類BFile類DAccessFile類20、下列哪個(gè)Java標(biāo)識(shí)符是合法的( )。AnewBclassCintDconst121、Java程序源文件和經(jīng)編譯后的文件擴(kuò)展名分別是( )。A.class和.javaB.java和.classC.class和.classD.java和.java22、Java中為了區(qū)別重載多態(tài)中同名的不同方法,要求( )。A返回值類型相同C參數(shù)名稱不同B采用不同的參數(shù)列表D以上三項(xiàng)都不對(duì)23、

6、下列語(yǔ)句中,( )是不能通過(guò)編譯的語(yǔ)句。Adouble d=545.0;Bchar a1=c;Cint i=321;Dfloat f1=45.0f;24、Java中流的傳遞方式屬于( )。A并行的B串行的C并行和串行D以上都不對(duì)25、Java程序設(shè)計(jì)語(yǔ)言中,JDBC指的是( )。AJava程序與數(shù)據(jù)庫(kù)連接的一種機(jī)制BJava程序與瀏覽器交互的一種機(jī)制CJava類庫(kù)名稱DJava類編譯程序26、Java程序設(shè)計(jì)語(yǔ)言中,關(guān)鍵字super的作用是( )。A用來(lái)訪問(wèn)父類被隱藏的成員變量B用來(lái)調(diào)用父類中被重載的方法C用來(lái)調(diào)用父類的構(gòu)造方法D以上都是27、下列java標(biāo)識(shí)符的書寫,錯(cuò)誤的是( )。A_sy

7、sB$changeCuser_nameD1_file28、Java中類實(shí)現(xiàn)的接口以及修飾不可以是( )。ApublicBabstractCfinalDvoid29、下列特性中,不屬于面向?qū)ο缶幊痰娜筇卣鞯氖牵?)。A封裝B指針操作C多態(tài)D繼承30、執(zhí)行如下語(yǔ)句序列,k的值是( )。int j=4,k=20; for(int i=1;i!=j;i+)k=k-i;A10B24C12D131、Java源代碼保存在擴(kuò)展名為( )的文件中。A.exeB.javaC.classD.javac32、調(diào)用alphabet.substring(6,10)返回的子字符串是( )。AGHIJBFGHICHIJDG

8、HI33、關(guān)于while和dowhile語(yǔ)句的說(shuō)法,錯(cuò)誤的是( )。A都是Java的循環(huán)語(yǔ)句Bwhile語(yǔ)句至少迭代一次Cdowhile語(yǔ)句至少迭代一次D兩者都可以迭代多次34、inta;和intb=new int0;關(guān)于這兩個(gè)語(yǔ)句的說(shuō)法錯(cuò)誤的是( )。Aa為空數(shù)組Bb不是空數(shù)組Ca是分配了0個(gè)元素的數(shù)組Db是分配了0個(gè)元素的數(shù)組35、下列關(guān)于Java中方法的說(shuō)明,錯(cuò)誤的是( )。A方法調(diào)用必須指定方法名和實(shí)際參數(shù)B寫在return后面的語(yǔ)句不會(huì)被執(zhí)行CJava應(yīng)用程序從main()方法開(kāi)始執(zhí)行Dmain()方法不能被其他方法調(diào)用,包括Java虛擬機(jī)36、關(guān)于構(gòu)造方法和方法的說(shuō)法,錯(cuò)誤的是(

9、)。A構(gòu)造方法可以創(chuàng)建類的對(duì)象B構(gòu)造方法和方法都有返回值類型C構(gòu)造方法使用new操作符調(diào)用D方法使用句點(diǎn)操作符調(diào)用37、下列類中,屬于java.lang包中的類的是( )。AArrays類BMath類CDate類DCalendar類38、下列關(guān)于方法修飾符的敘述,錯(cuò)誤的是( )。Afinal修飾的方法在類中可以被重載Cnative修飾的方法表示方法體是以另一種程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)的Bprivate修飾的方法指該方法只能從其自身的類中訪問(wèn)Dprotected修飾的方法指該方法只能從其自身的類及其擴(kuò)展中訪問(wèn)39、下列哪一項(xiàng)不屬于java.awt中的布局管理器類( )。AFlowLayoutBTable

10、LayoutCBorderLayoutDGridLayout40、java.util包定義了3種一般類型的集合,下列哪一個(gè)不是( )。AListBMapCSetDHash41、JApplet類的直接父類是( )。AComponent類BContainer類CApplet類DPanel類42、下列協(xié)議中哪一個(gè)不屬于網(wǎng)絡(luò)層協(xié)議( )。ADNSBIPCICMPDIGMP43、下列屬于文本數(shù)據(jù)流的是( )。A源代碼程序B音頻C圖像D視頻44、關(guān)于I/O類的說(shuō)明,錯(cuò)誤的是( )。AI/O類主要有4種BInputStream和Reader類用于輸入COutputStream和Writer類用于輸出DRea

11、der和Writer類用于處理二進(jìn)制文件45、下列不屬于JDBC提供的驅(qū)動(dòng)程序的是( )。A本地庫(kù)Java實(shí)現(xiàn)驅(qū)動(dòng)程序B網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)程序C數(shù)據(jù)庫(kù)協(xié)議驅(qū)動(dòng)程序D硬盤協(xié)議驅(qū)動(dòng)程序46、下面哪種類是用簡(jiǎn)單數(shù)組來(lái)實(shí)現(xiàn)的( )。AHashSetBLinkedHashSetCTreeSetDTreeMap47、下列關(guān)于Applet小程序的敘述正確的是( )。AApplet可以獨(dú)立運(yùn)行BApplet小程序也必須有main()方法CPanel類是Applet類的子類DJApplet類是Applet類的子類48、關(guān)于接口的說(shuō)明,錯(cuò)誤的是( )。A接口可以包含嵌套類和接口B接口可以作為一種數(shù)據(jù)類型來(lái)聲明變量和參數(shù)

12、C接口可以擴(kuò)展一個(gè)類D接口無(wú)構(gòu)造函數(shù)49、下列哪一個(gè)特性不是進(jìn)程和線程所共有的( )。A結(jié)構(gòu)性B共享性C動(dòng)態(tài)性D獨(dú)立性50、下列不可以正確表示Java標(biāo)識(shí)符的是( )。A$maxBabcC_minDpublic二、填空題1、在子類中使用關(guān)鍵字 做前綴可調(diào)用被子類覆蓋的父類中的方法。2、創(chuàng)建包需要使用的關(guān)鍵字是 。3、按照異常處理的不同可分為捕獲異常、聲明異常和 三種。4、靜態(tài)內(nèi)嵌類型用于定義 的嵌套結(jié)構(gòu),實(shí)例內(nèi)嵌類型用于定義 的嵌套結(jié)構(gòu)。5、Java語(yǔ)言的各種數(shù)據(jù)類型之間提供兩種轉(zhuǎn)換,自動(dòng)轉(zhuǎn)換和 。6、Java語(yǔ)言通過(guò)接口支持 繼承,使類繼承具有更靈活的擴(kuò)展性。7、 是類的實(shí)例。8、方法的多態(tài)

13、包括方法的重載和覆蓋,其中方法重載是 時(shí)多態(tài)。9、Applet類的直接父類是 。10、Java圖形用戶界面的組件和事件由 和 包共同提供。11、Java語(yǔ)言是從 語(yǔ)言發(fā)展而來(lái)的。12、Java中的Object類包含在 包中。13、運(yùn)算符instanceof的運(yùn)算結(jié)果為 類型。14、 是指一組有順序、有起點(diǎn)和終點(diǎn)的字節(jié)集合,是對(duì)數(shù)據(jù)傳輸?shù)目偡Q或抽象。15、IP協(xié)議和UDP協(xié)議均是 的協(xié)議。16、Java的 機(jī)制是分隔方法聲明與方法實(shí)現(xiàn)細(xì)節(jié)的最好機(jī)制。17、 是可以嵌入Web頁(yè)面的最小應(yīng)用。18、類中的一個(gè)成員被private修飾,則該成員能被 成員訪問(wèn)。19、Java的字節(jié)碼保存在擴(kuò)展名為 的文

14、件中。20、 是定義標(biāo)準(zhǔn)Java類和接口的所有類庫(kù)的集合。21、構(gòu)造函數(shù)使用 操作符來(lái)調(diào)用,方法使用 操作符來(lái)調(diào)用。22、類的實(shí)例方法調(diào)用中的 參數(shù),就是該方法被綁定到的對(duì)象。23、 就是一個(gè)不含參數(shù)的構(gòu)造函數(shù)。24、聲明為 的數(shù)組是通用數(shù)組。25、在面向?qū)ο蟪绦蛟O(shè)計(jì)中, 指的是對(duì)象具有不同類的不同形式的對(duì)象的能力。26、 接口表示了那些實(shí)例可以用compareTo()方法類做比較的類。27、 類不能被實(shí)例化,因?yàn)樗哪承┓椒](méi)有可運(yùn)行的代碼體。28、 是一組相互交錯(cuò)的接口和類,這些接口和類支撐列表、集和迭代器的創(chuàng)建和使用。29、ArrayList類和HashSet類是用 來(lái)實(shí)現(xiàn)的。30、Ja

15、va的 是一個(gè)對(duì)象,它提供了對(duì)文件或其他資源的訪問(wèn)。31、要成為可串行化的,類必須實(shí)現(xiàn) 接口。32、 是一個(gè)對(duì)象,控制容器中的組件在容器中如何安排。33、 把源代碼程序翻譯成機(jī)器語(yǔ)言程序, 是在需要時(shí)才分別翻譯并運(yùn)行源代碼的每個(gè)句子。34、 是一種軟件系統(tǒng),它可以翻譯和運(yùn)行Java字節(jié)碼。35、LinkedHashSet類和LinkedHashMap類是用 的結(jié)構(gòu)來(lái)實(shí)現(xiàn)的。36、 對(duì)象作為Java集合框架的一個(gè)成員,支撐Collection接口的所有方法。37、二進(jìn)制文件是按 位字節(jié)來(lái)訪問(wèn)的,文本文件是按 位字符來(lái)訪問(wèn)的。38、在Java中,大多數(shù)的圖形定義在 包和 包中。39、 用于在窗口中

16、顯示文本。40、構(gòu)造函數(shù)可以用 和 關(guān)鍵字來(lái)調(diào)用其他的構(gòu)造函數(shù)。41、Java支持的UDP數(shù)據(jù)報(bào)通信需要 和 兩個(gè)類配合。42、 提供對(duì)文件的操作,其中通過(guò)流進(jìn)行文件讀寫操作。填空題答案1super 2package 3拋出異常 4類型、對(duì)象 5強(qiáng)制轉(zhuǎn)換6多重 7對(duì)象 8編譯 9Panel類10java.awt、javax.swing 11C+ 12java.lang 13boolean 14流15無(wú)連接 16接口 17Applet 18當(dāng)前類19.class 20Java API 21new、句點(diǎn) 22隱式 23默認(rèn)構(gòu)造函數(shù)24Object 25多態(tài)性 26Comparable 27抽象 2

17、8Java集合框架29簡(jiǎn)單數(shù)組 30數(shù)據(jù)流 31java.io.Serializable 32布局管理器33編譯器、解釋器 34Java虛擬機(jī) 35鏈?zhǔn)郊铀饕?36ArrayList 378、1638java.awt、javax.swing 39javax.swing.JLabel 40this、 super 41DatagramPacket、DatagramSocket 42File類三、簡(jiǎn)答題1、簡(jiǎn)述Java程序的可移植性。(第一章,Java的特點(diǎn))與平臺(tái)無(wú)關(guān)的特性使Java程序可以方便地被移植到網(wǎng)絡(luò)上的不同機(jī)器。同時(shí),Java的類庫(kù)中也實(shí)現(xiàn)了與不同平臺(tái)的接口,使這些類庫(kù)可以移植。另外,J

18、ava編譯器是由Java語(yǔ)言實(shí)現(xiàn)的,Java運(yùn)行時(shí)系統(tǒng)由標(biāo)準(zhǔn)C實(shí)現(xiàn),這使得Java系統(tǒng)本身也具有移植性。Java的這種可移植性也許是Java最誘人的特點(diǎn)。用Java開(kāi)發(fā)成的系統(tǒng)其移植工作幾乎為0,一般情況下只需對(duì)配置文件、批處理文件做相應(yīng)的修改即可實(shí)現(xiàn)平滑移植。2、抽象類和抽象方法有什么特點(diǎn)?(第三章,類的抽象性)一個(gè)抽象類里面可以沒(méi)有抽象方法,但含有抽象方法的類必定是抽象類;抽象類不能被實(shí)例化為對(duì)象,而只能作為其他類的超類,并且必須被繼承;若某子類繼承自一個(gè)抽象類,而該子類不是抽象類,則子類需要覆蓋的方式來(lái)實(shí)例化超類中的所有抽象方法。抽象方法可再與public、protected復(fù)合使用,但

19、不能與final、private和static復(fù)合使用;抽象方法只有方法聲明,不能有方法體。3、什么是異常?為什么要進(jìn)行異常處理?(第五章,異常處理)異常,是指由于程序運(yùn)行時(shí)發(fā)生錯(cuò)誤,從而導(dǎo)致程序錯(cuò)誤結(jié)束。在進(jìn)行程序設(shè)計(jì)時(shí),錯(cuò)誤的產(chǎn)生是不可避免的,沒(méi)有異常處理代碼的程序,在運(yùn)行時(shí)發(fā)生錯(cuò)誤則可能非正常結(jié)束,引起嚴(yán)重問(wèn)題。因此,Java給程序員提供了處理運(yùn)行時(shí)錯(cuò)誤的功能,稱為異常處理。4、String類和StringBuffer類的主要區(qū)別是什么?(第四章,String字符串類)String類:用于比較兩個(gè)字符串,查找和抽取串中的字符或子串,字符串與其他類型的轉(zhuǎn)換等,String類對(duì)象的內(nèi)容一旦被

20、初始化就不能再改變。StringBuffer類:用于內(nèi)容可以改變的字符串,可以將其他各種類型的數(shù)據(jù)增加、插入到字符串中,也可以翻轉(zhuǎn)字符串中原來(lái)的內(nèi)容。5、為什么用一個(gè)靜態(tài)方法去調(diào)用一個(gè)非靜態(tài)方法是不合法的?(第三章,靜態(tài)成員和靜態(tài)方法)靜態(tài)方法沒(méi)有綁定到任何特定的對(duì)象上,它沒(méi)有隱式參數(shù)。因此,在靜態(tài)方法中,沒(méi)有隱式對(duì)象供非靜態(tài)方法可綁定。6、什么是JDK?(第一章,Java的JDK)縮寫詞JDK表示的是“Java Development Kit”。它描述的是從Sun Microsystems公司網(wǎng)站下載的用來(lái)開(kāi)發(fā)Java應(yīng)用程序的文件集。它包括了Java編譯器和Java API。7、對(duì)象的相等

21、性與指向?qū)ο蟮囊玫南嗟刃灾g有何不同?(第三章,類和對(duì)象)如果兩個(gè)對(duì)象具有相同的數(shù)值,那么這兩個(gè)對(duì)象應(yīng)該是相等的。如果兩個(gè)引用指向的是同一對(duì)象,那么這兩個(gè)引用是相等的。條件(p=q)可用于測(cè)試引用p和q的相等性,但不能測(cè)試它們所引用的對(duì)象的相等性。你可以聲明一個(gè)方法equals()來(lái)測(cè)試對(duì)象的相等性。8、空數(shù)組和長(zhǎng)度為0的數(shù)組有何不同?并舉例說(shuō)明。(第四章,java.util中數(shù)組類)空數(shù)組就是還沒(méi)有分配存儲(chǔ)空間的數(shù)組。長(zhǎng)度為0的數(shù)組就是分配了0個(gè)元素的數(shù)組。在下面兩個(gè)聲明中:int a; /nullint b = new int0; /not nulla是一個(gè)空數(shù)組,b是一個(gè)長(zhǎng)度為0的數(shù)組

22、??諗?shù)組a沒(méi)有長(zhǎng)度,已分配存儲(chǔ)空間的數(shù)組b的長(zhǎng)度為0。四、讀程序題 (程序題考查的知識(shí)是Java程序設(shè)計(jì)的綜合編程能力)1、讀下面程序,寫出程序的運(yùn)行結(jié)果public class T1 public static void main(String args) T1 a=new T1(); a.method(8); a.method(1.2f); void method(float i) System.out.println(float:+i); void method(long i) System.out.println(long:+i); 答案long:8float:1.22、定義類A和類B

23、如下:class A int a=1; double d=2.0; void show() System.out.println(Class A:a=+a+td=+d); class B extends Afloat a=3.0f;String d=Java program;void show()super.show();System.out.println(Class B:a=+a+td=+d);若在應(yīng)用程序的main()方法中有以下語(yǔ)句:A a=new A(); a.show();則輸出結(jié)果如何?答案class A:a=1 d=2.03、下面程序段的運(yùn)行結(jié)果是什么?public class

24、 teststatic String s1 = new String(Test);static String s2 = new String(Test);public static void main(String args)if(s1=s2)System.out.println(Same);if(s1.equals(s2)System.out.println(Equals);答案Equals4、分析下面程序的運(yùn)行結(jié)果。public class Father void speak()System.out.println(I am father!);void speak(String s)Sys

25、tem.out.println(I like+ +s+.);public static void main(String args)Father x=new Father();x.speak();x.speak(father);答案I am father!I like father.5、分析下面程序的運(yùn)行結(jié)果。public class Test static void throwProcess()trythrow new NullPointerException(空指針異常);catch(NullPointerException e)System.out.println(n在 throwPro

26、cess 方法中捕獲一個(gè)+e.getMessage();throw e;public static void main(String args)trythrowProcess();catch(NullPointerException e)System.out.println(再次捕獲:+e);答案在 throwProcess 方法中捕獲一個(gè)空指針異常再次捕獲:java.lang.NullPointerException: 空指針異常6、讀下面程序,寫出程序的運(yùn)行結(jié)果public class test1public static void main(String args)String s1=A

27、BC;String s2=ABC;System.out.println(s2=s1:+(s2=s1);String s3=new String(ABC);System.out.println(s3=s2:+(s3=s2);String s4=new String(ABC);System.out.println(s4=s3:+(s4=s3);答案s2=s1:trues3=s2:falses4=s3:false7、讀下面程序,寫出程序的運(yùn)行結(jié)果public class test1public static void main(String args)String str=This is the M

28、ississippi River.;System.out.println(str);int i=str.indexOf(s);System.out.println(The first index of s is +i);i=str.indexOf(s,i+1);System.out.println(The next index of s is +i);答案This is the Mississippi River.The first index of s is 3The next index of s is 68、讀下面程序,寫出程序的運(yùn)行結(jié)果public class test1public

29、static void main(String args)Object a=new Object3;a0=new java.util.Date();a1=ABCDE;print(a);public static void print(Object a)for (int i=0;i0)char ch=str.charAt(0);if( )for(int i=1;i=A&ch=a&ch=A&ch=a&ch=0&ch=9)10、下面算法的功能是判斷k是否為素?cái)?shù),請(qǐng)對(duì)算法中橫線部分進(jìn)行補(bǔ)充。static boolean isPrime(int k)if(k=2)return true;if( )ret

30、urn false;int j=(int)java.lang.Math.sqrt(k);if(j%2=0)j-;while( )j-=2;return j2;答案k2&k%2=0j2&k%j!=0五、編程題 (程序題考查的知識(shí)是Java程序設(shè)計(jì)的綜合編程能力)1、求兩個(gè)正整數(shù)的最大公約數(shù)。public class A public static void main(String args) int a=6,b=12,k=0; do k=a%b; a=b; b=k; while(k!=0); System.out.println(a); 2、將一個(gè)字符串?dāng)?shù)組按字典序重新排列。class Sort

31、 public static void main(String args) String a=boy,apple,Applet,girl,Hat; for(int i=0;ia.length-1;i+) for(int j=i+1;ja.length;j+) if(ajaaapareTo(ai)0) String temp=ai; ai=aj; aj=temp; for(int i=0;ia.length;i+) System.out.print( +ai); 3、將一個(gè)字符串中的小寫字母變成大寫字母,并將大寫字母變成小寫字母。public class exchangepublic stati

32、c void main(String args)String s=new String(abcABC);System.out.println(s);char a=s.toCharArray();for(int i=0;ia.length;i+)if(Character.isLowerCase(ai)ai=Character.toUpperCase(ai);else if(Character.isUpperCase(ai)ai=Character.toLowerCase(ai);s=new String(a);System.out.println(s);4、編寫一個(gè)程序,用直接選擇排序?qū)?shù)組a=

33、2,1,10,5,3,7,9,6進(jìn)行從小到大的排序,并輸出。public class ArraySortpublic static void main(String args)int array=2,1,10,5,3,7,9,6;int i,j,k,t;int m=array.length;for(i=0;im-1;i+)k=i;for(j=i+1;jm;j+)if(arrayjarrayk) k=j;if(i!=k)t=arrayk;arrayk=arrayi;arrayi=t;for(i=0;i0) System.out.println(n0);6、編寫一個(gè)Java程序,該程序用數(shù)值581

34、4來(lái)初始化一個(gè)整數(shù)變量n,然后用商運(yùn)算和余數(shù)運(yùn)算來(lái)抽取和如下顯示n的每個(gè)數(shù)字。n=5814The digits of n are 5,8,1,and 4public class test1public static void main(String args)int n=5814;System.out.println(n=+n);System.out.print(The digits of n are );System.out.print(n/1000);n%=1000;System.out.print(,+n/100);n%=100;System.out.print(,+n/10);n%=1

35、0;System.out.println(,and +n);7、編寫一個(gè)Java程序,把兩個(gè)詞的人名改寫為第一個(gè)字母大寫,其余字母小寫。例如,輸入:noRtH CARolIna,將生成輸出:North Carolina。import java.io.*;public class StaticTest public static void main(String args)throws IOException InputStreamReader reader=new InputStreamReader(System.in); BufferedReader in=new BufferedReade

36、r(reader); System.out.print(Enter a two-word name:); String name=in.readLine(); System.out.println(You entered: + name); int i=name.indexOf( ); int j=name.lastIndexOf( ); String s0=name.substring(0,1).toUpperCase(); String s1=name.substring(1,i).toLowerCase(); String s2=name.substring(j,j+2).toUpper

37、Case(); String s3=name.substring(j+2).toLowerCase(); System.out.println(s0+s1+s2+s3); 8、編寫一個(gè)Java程序,要求打印出一個(gè)9*9乘法表。public class StaticTest public static void main(String args)final int size=9;for(int x=1;x=size;x+)for(int y=1;y=size;y+)int z=x*y;System.out.print(z10? : )+z);System.out.println();六、分析論述

38、題 (考查本門課程綜合理解)1、通過(guò)對(duì)本門課程的學(xué)習(xí),從復(fù)雜性、語(yǔ)言性質(zhì)、結(jié)構(gòu)、安全性、適應(yīng)性、線程特點(diǎn)等方面談?wù)勀銓?duì)Java程序設(shè)計(jì)語(yǔ)言的理解。1)簡(jiǎn)單。因Java語(yǔ)言的語(yǔ)法與C語(yǔ)言特別是C+語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C+ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。特別是,Java語(yǔ)言不使用指針,并提供了自動(dòng)的垃圾回收機(jī)制,使得程序員不必為內(nèi)存管理而擔(dān)憂。2)面向?qū)ο蟆ava語(yǔ)言提供類、接口和繼承等原語(yǔ),為了簡(jiǎn)單起見(jiàn),只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(

39、關(guān)鍵字為implements)。3)分布式。Java語(yǔ)言支持Internet應(yīng)用的開(kāi)發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫(kù),包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段。4)健壯。Java的強(qiáng)類型機(jī)制、異常處理、廢料的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。5)安全。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Jav

40、a語(yǔ)言具有的許多安全特性以外,Java對(duì)通過(guò)網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。6)體系結(jié)構(gòu)中立。Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。7)可移植。這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長(zhǎng)度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,

41、Java編譯器是用Java實(shí)現(xiàn)的。8)解釋型。Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式, 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過(guò)程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。9)是多線程。在Java語(yǔ)言中,線程是一種特殊的對(duì)象,它必須由Thread類或其子(孫)類來(lái)創(chuàng)建。通常有兩種方法來(lái)創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable) 的構(gòu)造子將一個(gè)實(shí)現(xiàn)了Runnable接口的對(duì)象包裝成一個(gè)線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對(duì)象即為線程。值得注意的是Thread類

42、已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個(gè)線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動(dòng)由一組方法來(lái)控制。 Java語(yǔ)言支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。10)動(dòng)態(tài)。Java語(yǔ)言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境。Java程序需要的類能夠動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過(guò)網(wǎng)絡(luò)來(lái)載入所需要的類。這也有利于軟件的升級(jí)。另外,Java中的類有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類型檢查。2、結(jié)合實(shí)際編程經(jīng)驗(yàn),從TCP客戶端和服務(wù)器端兩方面介紹一下Java網(wǎng)絡(luò)編程的步驟。TCP客戶端編程步驟:1、建立網(wǎng)絡(luò)連接客戶端

43、網(wǎng)絡(luò)編程的第一步都是建立網(wǎng)絡(luò)連接。在建立網(wǎng)絡(luò)連接時(shí)需要指定連接到的服務(wù)器IPXXX和端口號(hào)。建立完成后,會(huì)形成一條虛擬的連接,后續(xù)的操作就可以通過(guò)該連接實(shí)現(xiàn)數(shù)據(jù)的交換了。2、交換數(shù)據(jù)連接建立以后,可以通過(guò)這個(gè)連接交換數(shù)據(jù)。交換數(shù)據(jù)一般會(huì)按照“請(qǐng)求-響應(yīng)”模式進(jìn)行,即有客戶端發(fā)送一個(gè)請(qǐng)求數(shù)據(jù)到服務(wù)器,服務(wù)器反饋一個(gè)響應(yīng)數(shù)據(jù)給客戶端,如果客戶端不發(fā)送請(qǐng)求則服務(wù)器就不主動(dòng)響應(yīng)。根據(jù)邏輯需要,可以進(jìn)行無(wú)限次的數(shù)據(jù)交換。3、關(guān)閉網(wǎng)絡(luò)連接在數(shù)據(jù)交換完成以后,關(guān)閉網(wǎng)絡(luò)連接,釋放程序占用的系統(tǒng)資源。TCP服務(wù)器端的編程步驟:1、監(jiān)聽(tīng)端口服務(wù)器端屬于被動(dòng)等待連接,所以服務(wù)器端啟動(dòng)以后,只需要監(jiān)聽(tīng)本地計(jì)算機(jī)的某個(gè)

44、固定端口即可。這個(gè)端口就是服務(wù)器端開(kāi)放給客戶端的端口,服務(wù)器端程序運(yùn)行的本地計(jì)算機(jī)的IPXXX就是服務(wù)器端程序的IPXXX。2、獲得連接當(dāng)客戶端連接到服務(wù)器是,服務(wù)器端就可以獲得一個(gè)連接,這個(gè)連接包含客戶端的信息,例如客戶端IPXXX等,服務(wù)器端和客戶端也通過(guò)該連接進(jìn)行數(shù)據(jù)交換。一般在服務(wù)器端編程中,當(dāng)獲得連接時(shí),需要開(kāi)啟專門的線程處理該連接,每個(gè)連接都由獨(dú)立的線程實(shí)現(xiàn)。3、交換數(shù)據(jù)服務(wù)器端通過(guò)獲得的連接進(jìn)行數(shù)據(jù)交換。服務(wù)器的數(shù)據(jù)交換步驟一般是首先接收客戶端發(fā)送過(guò)來(lái)的數(shù)據(jù),然后進(jìn)行邏輯處理,最后把處理結(jié)果數(shù)據(jù)發(fā)送個(gè)客戶端。簡(jiǎn)單說(shuō),就是先接收再發(fā)送,和客戶端的數(shù)據(jù)交換順序有所不同。實(shí)質(zhì)上,服務(wù)器端獲得的連接和客戶端創(chuàng)建的連接是一樣的,只是數(shù)據(jù)交換的步驟不同。4、關(guān)閉連接當(dāng)需要停止網(wǎng)絡(luò)通信是,就需要關(guān)閉服務(wù)器端,通過(guò)關(guān)閉服務(wù)器端使得服務(wù)器監(jiān)聽(tīng)的端口以及占用的內(nèi)存等系統(tǒng)資源可以釋放出來(lái)。3、分析解釋一下MVC架構(gòu),并說(shuō)明MVC如何工作?MVC (Modal View Controler)本來(lái)是存在于Desktop程序中的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)你可以分別用柱狀圖、餅圖來(lái)表示。C存在的目

溫馨提示

  • 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)論