Java基礎(chǔ)入門課后習(xí)題及答案_第1頁
Java基礎(chǔ)入門課后習(xí)題及答案_第2頁
Java基礎(chǔ)入門課后習(xí)題及答案_第3頁
Java基礎(chǔ)入門課后習(xí)題及答案_第4頁
Java基礎(chǔ)入門課后習(xí)題及答案_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Java基礎(chǔ)入門課后習(xí)題第1章Java開發(fā)入門一、填空題1、Java的三大體系分另1J是_JavaSE_JavaEE_JavaME。2、Java程序的運(yùn)行環(huán)境簡稱之為JRE。3、編譯Java程序需要使用_javac命令。4、和兩個(gè)可執(zhí)行程序存放在JDK安裝目錄的bin目錄下。5、path環(huán)境變量用來存儲(chǔ)Java的編譯和運(yùn)行工具所在的路徑,而_classpath環(huán)境變量則用來保存保存Java虛擬機(jī)要運(yùn)行的“.class”文件路徑。二、選擇題1、以下選項(xiàng)中,哪些屬于JDK工具(多選)ABCDA、Java編譯器B、Java運(yùn)行工具CJava文檔生成工具D、Java打包工具2、Java屬于以下哪種語言

2、CA、機(jī)器語言B、匯編語言C、高級(jí)語言D、以上都不對(duì)3、下面哪種類型的文件可以在Java虛擬機(jī)中運(yùn)行DA、.javaB、.jreC、.exeD、.class4、安裝好JDK后,在其bin目錄下有許多exe可執(zhí)行文件,其中命令的作用是以下哪一種BA、Java文檔制作工具B、Java解釋器CJava編譯器D、Java啟動(dòng)器5、如果jdk的安裝路徑為:d:jdk,若想在命令窗口中任何當(dāng)前路徑下,都可以直接使用javac和java命令,需要將環(huán)境變量path設(shè)置為以下哪個(gè)選項(xiàng)BA.d:jdk;B.d:jdkbin;C.d:jrebin;D.d:jre;三、問答題1、簡述Java的特點(diǎn)。面向?qū)ο?、跨平臺(tái)

3、性、健壯性、安全性、可移植性、多線程性、動(dòng)態(tài)性等。2、簡述JRE與JDK的區(qū)別。JRE(JavaRuntimeEnvironment,Java運(yùn)行時(shí)環(huán)境),它相當(dāng)于操作系統(tǒng)部分,提供了Java程序運(yùn)行時(shí)所需要的基本條件和許多Java基礎(chǔ)類,例如,IO類、GUI控件類、網(wǎng)絡(luò)類等。JRE是提供給普通用戶使用的,如果你只想運(yùn)行別人開發(fā)好的Java程序,那么,你的計(jì)算機(jī)上必須且只需安裝JREJDK(JavaDevelopmentKit,Java開發(fā)工具包),它包含編譯工具、解釋工具、文檔制作工具、打包工具多種與開發(fā)相關(guān)的工具,是提供給Java開發(fā)人員使用的。初學(xué)者學(xué)習(xí)和使用Java語言時(shí),首先必須下載

4、和安裝JDKJDK中已經(jīng)包含了JRMB分,初學(xué)者安裝JDK后不必再去下載和安裝JRE了。JDK(JavaDevelopmentKit,Java開發(fā)工具包),它包含編譯工具、解釋工具、文檔制作工具、打包工具多種與開發(fā)相關(guān)白工具,是提供給Java開發(fā)人員使用的。初學(xué)者學(xué)習(xí)和使用Java語言時(shí),首先必須下載和安裝JDKJDK中已經(jīng)包含了JRE部分,初學(xué)者安裝JDK后不必再去下載和安裝JRE了。四、編程題使用記事本編寫一個(gè)HelloWorld程序,在dos命令行窗口編譯運(yùn)行。請(qǐng)按照題目的要求編寫程序并給出運(yùn)行結(jié)果。publicclassHelloWorldpublicstaticvoidmain(St

5、ring口args)這是第一個(gè)Java程序!);第2章Java編程基礎(chǔ)一、填空題1、Java中的程序代碼都必須在一個(gè)類中定義,類使用_class關(guān)鍵字來定義。2、布爾常量即布爾類型的兩個(gè)值,分別是_true和_flase。1)3、Java中1注釋可分為三種類型,分別是_單行注釋else語句針對(duì)x的值進(jìn)行三種情況的判斷。J2)根據(jù)判斷結(jié)(分別執(zhí)行不同的表達(dá)式,并將結(jié)果賦予變量V。3)在方法的最后返回y的值。4)在main方法中調(diào)用設(shè)計(jì)好的方法,傳入一個(gè)int型的值,將方法的返回值打印。3、請(qǐng)編寫程序,實(shí)現(xiàn)對(duì)數(shù)組25,24,12,76,101,96,28的排序。提示:使用冒泡排序算法。第3章面向?qū)?/p>

6、象(上)一、填空題1、面向?qū)ο蟮娜筇卣魇欠庋b性_、_繼承性和_多態(tài)性。2、在Java中,可以使用關(guān)鍵字_new來創(chuàng)建類的實(shí)例對(duì)象。3、定義在類中的變量被稱為成員變量,定義在方法中的變量被稱為局部變量4、面向?qū)ο蟪绦蛟O(shè)計(jì)的重點(diǎn)是_類的設(shè)計(jì),類是用來創(chuàng)建對(duì)象的模板。5、在非靜態(tài)成員方法中,可以使用關(guān)鍵字_this_訪問類的其它非靜態(tài)成員。6、當(dāng)一個(gè)對(duì)象被當(dāng)成垃圾從內(nèi)存中釋放時(shí),它的_finalize()方法會(huì)被自動(dòng)調(diào)用。7、被static關(guān)鍵字修飾的成員變量被稱為靜態(tài)變量一它可以被該類所有的實(shí)例對(duì)象共享。8、在一個(gè)類中,除了可以定義屬性、方法,還可以定義類,這樣的類被稱為_內(nèi)部類。9、在Java

7、中,提供了一個(gè)avadoc命令,用于將程序中的文檔注釋提取出來,生成HTML格式的幫助文檔。10、所謂類的封裝是指在定義一個(gè)類時(shí),將類中的屬性私有化,即使用_private關(guān)鍵字來修飾。二、判斷題1、在定義一個(gè)類的時(shí)候,如果類的成員被private所修飾,該成員不能在類的外部被直接訪問。對(duì)2、Java中的每個(gè)類都至少有一個(gè)構(gòu)造方法,一個(gè)類中如果沒有定義構(gòu)造方法,系統(tǒng)會(huì)自動(dòng)為這個(gè)類創(chuàng)建一個(gè)默認(rèn)的構(gòu)造方法。對(duì)3、聲明構(gòu)造方法時(shí),不能使用private關(guān)鍵字修飾。錯(cuò)4、類中static修飾的變量或方法,可以使用類名或?qū)ο蟮囊米兞吭L問。對(duì)5、方法內(nèi)部類中不能訪問外部類的成員變量。錯(cuò)、選擇題1、類的定

8、義必須包含在以下哪種符號(hào)之間BA、方括號(hào)B、花號(hào)C雙引號(hào)D、圓括號(hào)()2、下面哪一個(gè)是正確的類的聲明DA、 public void HH C、 public class void number3、在以下什么情況下,構(gòu)造方法會(huì)被調(diào)用BA、類定義時(shí)B、創(chuàng)建對(duì)象時(shí)C、B、 publicclass Move() D、publicclass Car 調(diào)用對(duì)象方法時(shí)D、使用對(duì)象的變量時(shí)4、下面對(duì)于構(gòu)造方法的描述,正確有哪些(多選)ABCA、方法名必須和類名相同B、方法名的前面沒有返回值類型的聲明C、在方法中不能使用return語句返回一個(gè)值D、當(dāng)定義了帶參數(shù)的構(gòu)造方法,系統(tǒng)默認(rèn)的不帶參數(shù)的構(gòu)造方法依然存在

9、5、使用this調(diào)用類的構(gòu)造方法,下面的說法正確的是(多選)ACD (ABCDA、使用this調(diào)用構(gòu)造方法的格式為this(參數(shù)1,參數(shù)2- )B、只能在構(gòu)造方法中使用 this調(diào)用其它的構(gòu)造方法C、使用this調(diào)用其它構(gòu)造方法的語句必須放在第一行D、不能在一個(gè)類的兩個(gè)構(gòu)造方法中使用this互相調(diào)用6、下面哪些可以使用 static關(guān)鍵字修飾(多選)AC(ACD)A、成員變量 B、局部變量C、成員方法D、成員內(nèi)部類7、關(guān)于內(nèi)部類,下面說法正確的是(多選)ACD(ABCD)A、成員內(nèi)部類是外部類的一個(gè)成員,可以訪問外部類的其它成員B、外部類可以訪問成員內(nèi)部類的成員C、方法內(nèi)部類只能在其定義的當(dāng)前

10、方法中進(jìn)行實(shí)例化D、靜態(tài)內(nèi)部類中可以定義靜態(tài)成員,也可以定義非靜態(tài)成員8、下面對(duì)于單例設(shè)計(jì)模式的描述,正確的是(多選)BCDABCD)A、類中定義一個(gè)無參的構(gòu)造方法,并且聲明為私有B、在內(nèi)部創(chuàng)建一個(gè)該類的實(shí)例對(duì)象,使用靜態(tài)變量引用該實(shí)例對(duì)象C、使用private修飾靜態(tài)變量,禁止外界直接訪問D、定義靜態(tài)方法返回該類實(shí)例9、請(qǐng)先閱讀下面的代碼 Dpublic class Test public Test()構(gòu)造方法一被調(diào)用了);public Test(int x)this();構(gòu)造方法二被調(diào)用了);public Test(boolean b)this(1);構(gòu)造方法三被調(diào)用了);public s

11、tatic void main(String口 args) Test test = new Test(true);上面程序的運(yùn)行結(jié)果為下列哪一項(xiàng)A、構(gòu)造方法一被調(diào)用了C、構(gòu)造方法三被調(diào)用了10、Outer類中定義了一個(gè)成員內(nèi)部類 方式哪一種是正確的DB、構(gòu)造方法二被調(diào)用了D、以上三個(gè)選項(xiàng)之和Inner,需要在main()方法中創(chuàng)建Inner類實(shí)例對(duì)象,以下四種B、Inner in = new ();A、Innerin=newInner()C、in=new();D、in=newOuter().newInner();四、程序分析題閱讀下面的程序,分析代碼是否能夠編譯通過,如果能編譯通過,請(qǐng)列出運(yùn)行

12、的結(jié)果。否則請(qǐng)說明編譯失敗的原因。代碼一:不能,secret是私有成員,只能類內(nèi)部訪問(程序不能編譯通過,因?yàn)樵陬怉中的成員變量secret用private修飾,所以在類Testi中無法訪問)classAprivateintsecret=5;publicclassTestipublicstaticvoidmain(String口args)Aa=newA();代碼二:250(程序不能編譯通過,因?yàn)樵陟o態(tài)方法method()中不能訪問非靜態(tài)成員變量x。)publicclassTest2intx=50;staticinty=200;publicstaticvoidmethod()publicstat

13、icvoidmain(String口args)();代碼三:Inner為私有內(nèi)部類,不允許外部訪問(inner)Innerinner=newOuter().newInner();可以用外部類訪問內(nèi)部類publicclassOuterpublicStringname=Outer;privateclassInnerStringname=inner;voidshowName()publicstaticvoidmain(String口args)Innerinner=newOuter().newInner();五、簡答題1、構(gòu)造方法和普通的成員方法有什么區(qū)別構(gòu)造方法是類的一個(gè)特殊成員,它會(huì)在類實(shí)例化對(duì)象

14、時(shí)被自動(dòng)調(diào)用。而普通方法只有在使用的時(shí)候才會(huì)被調(diào)用。在定義構(gòu)造方法時(shí)要求方法名與類名相同、在方法名的前面沒有返回值類型的聲明、在方法中不能使用return語句返回一個(gè)值2、單例設(shè)計(jì)模式具備哪些特點(diǎn)單例模式可以保證在整個(gè)程序運(yùn)行期間針對(duì)該類只存在一個(gè)實(shí)例對(duì)象。六、編程題1、請(qǐng)按照以下要求設(shè)計(jì)一個(gè)學(xué)生類Student,并進(jìn)行測試。要求如下:1)Student類中包含姓名、成績兩個(gè)屬性2)分別給這兩個(gè)屬性定義兩個(gè)方法,一個(gè)方法用于設(shè)置值,另一個(gè)方法用于獲取值3)Student類中定義一個(gè)無參的構(gòu)造方法和一個(gè)接收兩個(gè)參數(shù)的構(gòu)造方法,兩個(gè)參數(shù)分別為姓名和成績屬性賦值4)在測試類中創(chuàng)建兩個(gè)Student對(duì)

15、象,一個(gè)使用無參的構(gòu)造方法,然后調(diào)用方法給姓名和成績賦值,一個(gè)使用有參的構(gòu)造方法,在構(gòu)造方法中給姓名和成績賦值2、定義一個(gè)Father和Child類,并進(jìn)行測試。要求如下:1) Father類為外部類,類中定義一個(gè)私有的String類型的屬性name,name的值為zhangjun”。2) Child類為Father類的內(nèi)部類,其中定義一個(gè)introFather()方法,方法中調(diào)用Father類的name屬性。3)定義一個(gè)測試類Test,在Test類的main()方法中,創(chuàng)建Child對(duì)象,并調(diào)用introFather()方法。第4章面向?qū)ο?下)一、填空題1、在Java語言中,允許使用已存在

16、的類作為基礎(chǔ)創(chuàng)建新的類,這種技術(shù)我們稱為繼承。2、一個(gè)類如果實(shí)現(xiàn)一個(gè)接口,那么它就需要實(shí)現(xiàn)接口中定義的全部一方法,否則該類就必須定義成_抽象類。3、在程序開發(fā)中,要想將一個(gè)包中的類導(dǎo)入到當(dāng)前程序中,可以使用_import關(guān)鍵字。4、一個(gè)類可以從其它的類派生出來,派生出來的類稱為子類,用于派生的類稱為基類或者父類5、1JDK中定義了大量的異常類,這些類都是.Exception類的子類或者間接子類。6、定義一個(gè)Java類時(shí),如果前面加使用final關(guān)鍵字修飾,那么該類不可以被繼承。7、如果子類想使用父類中的成員,可以通過關(guān)鍵字_super引用父類的成員。8、在Java語言中,所有的類都直接或間接繼

17、承自.Object類。9、異常的捕獲通常由try、catch兩部分組成,_try代碼塊用來存放可能發(fā)生異常,_catch代碼塊用來處理產(chǎn)生的異常。10、在Java語言中,要想是將一個(gè)已編譯的類打包成jar文件,可以使用的命令是_jar-cvf,要想在命令行窗口運(yùn)行jar文件,可以使用的命令是_java-jar。二、判斷題1、抽象方法必須定義在抽象類中,所以抽象類中的方法都是抽象方法。錯(cuò)2、Java中被final關(guān)鍵字修飾的變量,不能被重新賦值。對(duì)3、不存在繼承關(guān)系的情況下,也可以實(shí)現(xiàn)方法重寫。錯(cuò)4、package聲明語句應(yīng)當(dāng)為Java源文件中的第一條語句。對(duì)5、接口中只能定義常量和抽象方法。錯(cuò)

18、(對(duì))三、選擇題1、在類的繼承關(guān)系中,需要遵循以下哪個(gè)繼承原則BA、多重B、單一C、雙重D、不能繼承2、在Java語言中,以下哪個(gè)關(guān)鍵字用于在方法上聲明拋出異常C3、關(guān)于super關(guān)鍵字以下說法哪些是正確的(多選)ABD(ABC)A、super關(guān)鍵字可以調(diào)用父類的構(gòu)造方法B、super關(guān)鍵字可以調(diào)用父類的普通方法Csuper與this不能同時(shí)存在于同一個(gè)構(gòu)造方法中D、super與this可以同時(shí)存在于同一個(gè)構(gòu)造方法中4、以下說法哪些是正確的(多選)ABCDA、Java語言中允許一個(gè)類實(shí)現(xiàn)多個(gè)接口B、Java語言中不允許一個(gè)類繼承多個(gè)類CJava語言中允許一個(gè)類同時(shí)繼承一個(gè)類并實(shí)現(xiàn)一個(gè)接口D、J

19、ava語言中允許一個(gè)接口繼承一個(gè)接口5、類中的一個(gè)成員方法被下面哪個(gè)修飾符修飾,該方法只能在本類被訪問CA、publicB、protectedC、privateD、default6、關(guān)于抽象類的說法哪些是正確的(多選)ACA、抽象類中可以有非抽象方法。B、如果父類是抽象類,則子類必須重寫父類所有的抽象方法。C不能用抽象類去創(chuàng)建對(duì)象。D、接口和抽象類是同一個(gè)概念。7、在Java中,要想讓一個(gè)類繼承另一個(gè)類,可以使用以下哪個(gè)關(guān)鍵字CC、extends D、modifiesA、inheritsB、implements8、System類位于以下哪個(gè)包中DA、B、C、D、9、已知類的繼承關(guān)系如下:Acl

20、assEmployee;classManagerextendsEmployee;classDirectorextendsEmployee;則以下語句能通過編譯的有哪些A、 Employee e=new Manager。;C Director d=new Employee。; 10、編譯運(yùn)行下面的程序,結(jié)果是什么 public class A B、 Director d=new Manager。;D、Manager m=new Director(); Bpublicstaticvoidmain(String口args)Bb=newB();();voidtest()A);classBextends

21、Avoidtest()();B);A、產(chǎn)生編譯錯(cuò)誤B、代碼可以編譯運(yùn)行,并輸出結(jié)果ABC代碼可以編譯運(yùn)行,(!沒有輸出D、編譯沒有錯(cuò)誤,但會(huì)產(chǎn)生運(yùn)行時(shí)異常四、分析題閱讀下面的程序,分析代碼是否能編譯通過,如果能編譯通過,請(qǐng)列出運(yùn)行的結(jié)果。如果不能編譯通過,請(qǐng)說明原因。代碼一:進(jìn)入catch代碼塊進(jìn)入finally代碼塊(程序編譯能通過,這是因?yàn)閕ntx=2/0;這兩條語句使用了try塊,捕獲了程序因?yàn)槌?而產(chǎn)生的異常情況,之后程序會(huì)繼續(xù)向下執(zhí)行,輸出“進(jìn)入catch代碼塊”,“進(jìn)入finally代碼塊”。)publicclassTest01publicstaticvoidmain(Strin

22、g口args)tryintx=2/0;catch(Exceptione)進(jìn)入catch代碼塊);finally進(jìn)入finally代碼塊);代碼二:不能,final修飾shout,不能被重寫(程序編譯不通過,這是因?yàn)樵诔绦蛑惺褂昧薴inal關(guān)鍵字修飾Animal類,使得Animal類不能被繼承。shout()方法中同樣使用了final關(guān)鍵字,使得該方法不能被重寫。)finalclassAnimalpublicfinalvoidshout()碼一:不能,RunHandler沒有繼承Thread,不能用Thread創(chuàng)建對(duì)象(程序不能編譯通過,因?yàn)镽unHandler類沒有實(shí)現(xiàn)Runnable接口,因

23、此RunHandler的實(shí)例對(duì)象不能作為參數(shù)傳遞給Thread的構(gòu)造方法。)classRunHandlerpublicvoidrun()run);publicclassTestpublicstaticvoidmain(Stringargs)Threadt=newThread(newRunHandler();();2 .代碼二:thisisrun(程序不能編譯通過,因?yàn)門hread的子類A重寫的run()方法的訪問級(jí)別不能低于父類run()方法的。訪問級(jí)別)publicclassAextendsThreadprotectedvoidrun()thisisrun();publicstaticvoi

24、dmain(String口args)Aa=newA();();3 .代碼三:Exception(程序不能編譯通過,因?yàn)橥椒椒ㄖ姓{(diào)用wait()方法的對(duì)象必須為同步鎖對(duì)象publicclassTestprivateObjectobj=newObject();publicsynchronizedvoida()try();改()waiting);catch(InterruptedExceptione)Exception);publicstaticvoidmain(String口args)newTest().a();4 .為了使下面的程序能夠輸出Threadisrunning”,請(qǐng)?jiān)谠诳崭裉幪钌舷鄳?yīng)

25、的代碼。publicclassBimplementsRunnablepublicstaticvoidmain(String口args)Threadt=newThread(newB();()tart();另一種就是實(shí)現(xiàn)接口,同樣是在run()方法中實(shí)現(xiàn)運(yùn)行在線程上的代碼。newThread(newRunnable()publicvoidrun().start()1、sleep()和wait()有什么區(qū)別調(diào)用sleep()方法,正在執(zhí)行的線程主動(dòng)讓出CPU去執(zhí)行其他線程,在sleep()方法指定的時(shí)間過后,CPU才會(huì)回到這個(gè)線程上繼續(xù)往下執(zhí)行,如果當(dāng)前線程進(jìn)入了同步鎖,sleep()方法并不會(huì)釋放

26、鎖,即使當(dāng)前線程使用sleep()方法讓出了CPU,但其它被同步鎖擋住了的線程也無法得到執(zhí)行。wait()在一個(gè)已經(jīng)進(jìn)入了同步鎖的線程內(nèi)進(jìn)行調(diào)用,讓當(dāng)前線程暫時(shí)讓出同步鎖,以便其它正在等待此鎖的線程可以得到同步鎖并運(yùn)行。當(dāng)其它線程調(diào)用了notify()方法后,調(diào)用wait()方法的線程就會(huì)解除wait狀態(tài),當(dāng)再次獲得同步鎖后,程序可以繼續(xù)向下執(zhí)行。六、編程題請(qǐng)按照題目的要求編寫程序并給出運(yùn)行結(jié)果。1、通過繼承Thread類的方式創(chuàng)建兩個(gè)線程,在Thread構(gòu)造方法中指定線程的名字,并將這兩個(gè)線程的名字打印出來。2、通過實(shí)現(xiàn)Runnable接口的方式創(chuàng)建一個(gè)新線程,要求main線程才T印100此

27、次main”,新線程打印50次new”。3、模擬傳智播客的三個(gè)老師同時(shí)分發(fā)80份學(xué)習(xí)筆記,每個(gè)老師相當(dāng)于一個(gè)線程。4、編寫10個(gè)線程,第一個(gè)線程從1加到10,第二個(gè)線程從11加到20第十個(gè)線程從91加到100,最后再把十個(gè)線程結(jié)果相加。第5章JavaAPI一、填空題1、在Java中定義了兩個(gè)類來封裝對(duì)字符串的操作,它們分別是String_和_StringBuffer。2、Java中的操作日期的類有_Date、_Calendar、DateFormat等。3、在程序中若想取得一個(gè)Runtime實(shí)例,則可以調(diào)用Runtime類的靜態(tài)方法getRnutime()。4、Math類中用于計(jì)算所傳遞參數(shù)平方

28、根的方法是_sqrt()。5、Java中專門用于將日期格式化為字符串的類是_DateFormat。6、Math類中有兩個(gè)靜態(tài)常量PI和E,分別代表數(shù)學(xué)常量_兀和_e。7、Java中的用于產(chǎn)生隨機(jī)數(shù)的類是_Random,它位于包中。8、String類中用于返回字符串字符個(gè)數(shù)的方法是_length()。9、System類中所提供的屬性和方法都是_靜態(tài)的,想要引用這些屬性和方法,直接使用System類調(diào)用即可。10、已知sb為StringBuffer的一個(gè)實(shí)例,且()的值為abcde,則執(zhí)行sb.reverse。后,()的值為_edcba_。二、判斷題1、String對(duì)象和StringBuffer對(duì)

29、象都是字符串變量,創(chuàng)建后都可以修改。錯(cuò)2、用運(yùn)算符“=”比較字符串對(duì)象時(shí),如果兩個(gè)字符串的值相同,結(jié)果為true。錯(cuò)3、System類中的currentTimeMillis()方法返回一個(gè)10ng類型的值。對(duì)4、Date、Calendar以及DateFormat類都位于包中。錯(cuò)分另1J、String類的方法replace(CharSequencesrt1,CharSequencesrt2)返回一個(gè)新的字符串,它是通過用srt2替換此字符串中出現(xiàn)的所有srt1得到的。三、選擇題。1、先閱讀下面的程序片段:CStringstr=abccdefcdh;IStringarr=(c);程序執(zhí)行后,打印的

30、結(jié)果是幾A、2個(gè)B、3個(gè)C、4個(gè)D、5個(gè)2、以下都是Math類的常用方法,其中用于計(jì)算絕對(duì)值的方法是哪個(gè)CA、ceil()B、floor()C、abs()D、random。3、Random對(duì)象能夠生成以下哪種類型的隨機(jī)數(shù)DA、intB、stringC、doubleD、A和C4、Strings=abcdedcba;則(3,4)返回的字符串是以下選項(xiàng)中的哪個(gè)CA、cdB、deCdD、e5、假若indexOf()方法未能找到所指定的子字符串,則返回以下選項(xiàng)中的哪個(gè)CA、falseB、0C、-1D、以上答案都不對(duì)6、要產(chǎn)生20,999之間的隨機(jī)整數(shù)可以使用以下哪個(gè)表達(dá)式BA. (int)(20+()*

31、97)B. 20+(int)()*980)C. (int)()*999D.20+(int)()*9807、以下Math類的方法中,通過哪個(gè)方法運(yùn)算后,結(jié)果為D(C)A.round()四舍五入B.min()C.floor()小于參數(shù)最大整數(shù)D.ceil()大于參數(shù)最小整數(shù)8、下面的程序段執(zhí)行后,輸出的結(jié)果是以下哪個(gè)選項(xiàng)AStringBufferbuf=newStringBuffer(Beijing2008);(7,);、Beijing2008B、Beijing2008C、Beijing2008D、Beijing#20089、閱讀下面的程序:Apublicclasstestpublicstatic

32、voidmain(Stringargs)inti;floatf=;doubled=;i=(int)(f)*(int)(d);程序執(zhí)行后,運(yùn)行結(jié)果為以下哪個(gè)選項(xiàng)A、9B、5C、6D、10、先閱讀下面的程序片段:BStringstr1=newString(java);Stringstr2=newString(java);StringBufferstr3=newStringBuffer(java);對(duì)于上述定義的變量,以下表達(dá)式的值為true的是哪個(gè)A、str1=str2;B、(str2);C、str1=str3;D以上都不對(duì)四、程序分析題。閱讀下面的程序,分析代碼是否能編譯通過,如果能編譯通過,請(qǐng)

33、列出運(yùn)行的結(jié)果。如果不能編譯通過,請(qǐng)說明原因。代碼一:5-5publicclassApublicstaticvoidmain(String口args););代碼二:():15(0):dlastIndexOf(m):10substring(2,4):feindexOf(g):5publicclassBpublicstaticvoidmain(String口args)Strings=dfferghuklmbdfd;():+();(0):+(0);lastIndexOf(m):+(m);substring(2,4):+(2,4);indexOf(g):+(g);五、簡答題1、String和Strin

34、gBuffer有什么區(qū)別String類是不可變類,即字符串值一旦初始化后就不可能改變。StringBuffer是可變字符串類,類似String的緩沖區(qū),可以修改字符串的值。2、Date和Calender類有什么區(qū)別和聯(lián)系Date類用來表示某個(gè)特定的瞬間,能夠精確到毫秒。而在實(shí)際應(yīng)用中,往往需要把一個(gè)日期中的年、月、日等信息單獨(dú)返回進(jìn)行顯示或處理,這個(gè)類中的大部分方法都已被標(biāo)記過時(shí)。Calender類基本取代了Date類,該類中定義了一系列用于完成日期和時(shí)間字段操作的方法。Calendar的getTime()方法,getTime()返回一個(gè)表示Calendar時(shí)間值的Date對(duì)象,同時(shí)Calen

35、dar有一個(gè)setTime(Datedate)方法,setTime()方法接收一個(gè)Date對(duì)象,將Date對(duì)象表示的時(shí)間值設(shè)置給Calendar對(duì)象,通過這兩個(gè)方法就可以完成Date和Calendar對(duì)象之間的轉(zhuǎn)換。六、編程題請(qǐng)按照題目的要求編寫程序并給出運(yùn)行結(jié)果1、編寫一個(gè)程序,實(shí)現(xiàn)字符串大小寫的轉(zhuǎn)換并倒序輸出,要求如下1)使用for循環(huán)將字符串“HelloWorld”從最后一個(gè)字符開始遍歷。2)遍歷的當(dāng)前字符如果是大寫字符,就使用toLowerCase()方法將其轉(zhuǎn)換為小寫字符,反之則使用toUpperCase()方法將其轉(zhuǎn)換為大寫字符3)定義一個(gè)StringBuffer對(duì)象,調(diào)用appe

36、nd()方法依次添加遍歷的字符,最后調(diào)用StringBuffer對(duì)象的toString()方法,并將得到的結(jié)果輸出。2、計(jì)算從今天算起,100天以后是幾月幾號(hào),并格式化成xxxx年x月x日的形式打印出來。提示:1)調(diào)用Calendar類的add()方法計(jì)算100天后的日期2)調(diào)用Calendar的getTime()方法返回Date類型對(duì)象2)使用FULL格式的DateFormat對(duì)象,調(diào)用format()方法格式化Date對(duì)象3、利用Random類來產(chǎn)生5個(gè)2050之間的隨機(jī)整數(shù)。提示:n-m(n、m均為整數(shù),na)intsum=b/a;else輸入錯(cuò)誤);當(dāng)輸入的數(shù)字是8時(shí),打印輸出的結(jié)果是

37、2。2、以下是使用FileInputStream類與FileOutputStream類復(fù)制文件。閱讀以下代碼,并將空處填寫完整。import.*;classTest2publicstaticvoidmain(String口args)Stringfilel,file2;intch=0;filel=;file2=;tryFileInputStreamfis=newFilelnputStream(filel);FileOutputStreamfos=newFileOutputStream(file2);intsize=();字節(jié)有效數(shù)、+size);while(ch=()!=-1)(ch);();();catch(lOExceptione)五、簡答題1、簡述流的概念。Java程序通過流來完成輸入和輸出,流是輸入或輸出信息的抽象。流通過Java的輸入/輸出系統(tǒng)與外設(shè)連接進(jìn)行數(shù)據(jù)通信。流是抽象的對(duì)象,具體實(shí)現(xiàn)代碼在包中。2 、Java流被分為字節(jié)流、字符流兩大流類,兩者有什么

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論