《Java基礎(chǔ)入門》課后習(xí)題及答案_第1頁(yè)
《Java基礎(chǔ)入門》課后習(xí)題及答案_第2頁(yè)
《Java基礎(chǔ)入門》課后習(xí)題及答案_第3頁(yè)
《Java基礎(chǔ)入門》課后習(xí)題及答案_第4頁(yè)
《Java基礎(chǔ)入門》課后習(xí)題及答案_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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基礎(chǔ)入門》課后習(xí)題及答案博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效《Java基礎(chǔ)入門》課后習(xí)題第1章Java開(kāi)發(fā)入門一、填空題1、Java的三大體系分別是_JavaSE_____、_JavaEE_____、_JavaME_____。2、Java程序的運(yùn)行環(huán)境簡(jiǎn)稱之為JRE_____。3、編譯Java程序需要使用_javac_____命令。4、javac.exe和java.exe兩個(gè)可執(zhí)行程序存放在JDK安裝目錄的bin______目錄下。5、path______環(huán)境變量用來(lái)存儲(chǔ)Java的編譯和運(yùn)行工具所在的路徑,而_classpath_____環(huán)境變量則用來(lái)保存保存Java虛擬機(jī)要運(yùn)行的“.class”文件路徑。二、選擇題1、以下選項(xiàng)中,哪些屬于JDK工具?(多選)ABCDA、Java編譯器B、Java運(yùn)行工具C、Java文檔生成工具D、Java打包工具2、Java屬于以下哪種語(yǔ)言?CA、機(jī)器語(yǔ)言B、匯編語(yǔ)言C、高級(jí)語(yǔ)言D、以上都不對(duì)3、下面哪種類型的文件可以在Java虛擬機(jī)中運(yùn)行?DA、.javaB、.jreC、.exeD、.class4、安裝好JDK后,在其bin目錄下有許多exe可執(zhí)行文件,其中java.exe命令的作用是以下哪一種?BA、Java文檔制作工具B、Java解釋器C、Java編譯器D、Java啟動(dòng)器5、如果jdk的安裝路徑為:d:\jdk,若想在命令窗口中任何當(dāng)前路徑下,都可以直接使用javac和java命令,需要將環(huán)境變量path設(shè)置為以下哪個(gè)選項(xiàng)?BA.d:\jdk;B.d:\jdk\bin;C.d:\jre\bin;D.d:\jre;博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效三、問(wèn)答題1、簡(jiǎn)述Java的特點(diǎn)。面向?qū)ο?、跨平臺(tái)性、健壯性、安全性、可移植性、多線程性、動(dòng)態(tài)性等。2、簡(jiǎn)述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)行別人開(kāi)發(fā)好的Java程序,那么,你的計(jì)算機(jī)上必須且只需安裝JRE。JDK(JavaDevelopmentKit,Java開(kāi)發(fā)工具包),它包含編譯工具、解釋工具、文檔制作工具、打包工具多種與開(kāi)發(fā)相關(guān)的工具,是提供給Java開(kāi)發(fā)人員使用的。初學(xué)者學(xué)習(xí)和使用Java語(yǔ)言時(shí),首先必須下載和安裝JDK。JDK中已經(jīng)包含了JRE部分,初學(xué)者安裝JDK后不必再去下載和安裝JRE了。JDK(JavaDevelopmentKit,Java開(kāi)發(fā)工具包),它包含編譯工具、解釋工具、文檔制作工具、打包工具多種與開(kāi)發(fā)相關(guān)的工具,是提供給Java開(kāi)發(fā)人員使用的。初學(xué)者學(xué)習(xí)和使用Java語(yǔ)言時(shí),首先必須下載和安裝JDK。JDK中已經(jīng)包含了JRE部分,初學(xué)者安裝JDK后不必再去下載和安裝JRE了。四、編程題使用記事本編寫一個(gè)HelloWorld程序,在dos命令行窗口編譯運(yùn)行。請(qǐng)按照題目的要求編寫程序并給出運(yùn)行結(jié)果。publicclassHelloWorld{}publicstaticvoidmain(String[]args){}System.out.println("這是第一個(gè)Java程序!");第2章Java編程基礎(chǔ)一、填空題博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效1、Java中的程序代碼都必須在一個(gè)類中定義,類使用__class____關(guān)鍵字來(lái)定義。2、布爾常量即布爾類型的兩個(gè)值,分別是_true_____和_flase_____。3、Java中的注釋可分為三種類型,分別是_單行注釋//__、__多行注釋_/**/__、文檔/注釋***/______。4、Java中的變量可分為兩種數(shù)據(jù)類型,分別是_基本數(shù)據(jù)類型_____和_引用數(shù)據(jù)類型_____。5、在Java中,byte類型數(shù)據(jù)占____1__個(gè)字節(jié),short類型數(shù)據(jù)占__2____個(gè)字節(jié),int類型數(shù)據(jù)占___4___個(gè)字節(jié),long類型數(shù)據(jù)占____8__個(gè)字節(jié)。6、在邏輯運(yùn)算符中,運(yùn)算符___&___和___&&___用于表示邏輯與,__|____和__||____表示邏輯或。7、若x=2,則表達(dá)式(x++)/3的值是__0___。8、若inta=2;a+=3;執(zhí)行后,變量a的值為_(kāi)_5____。9、若int[]a={12,45,34,46,23};,則a[2]=__34____。10、若inta[3][2]={{123,345},{34,56},{34,56}},則a[2][1]=__56____。二、判斷題1、Java語(yǔ)言不區(qū)分大小寫。錯(cuò)2、0xC5表示的是一個(gè)十六進(jìn)制整數(shù)。對(duì)3、continue語(yǔ)句只用于循環(huán)語(yǔ)句中,它的作用是跳出循環(huán)。錯(cuò)4、“/*…*/”中可以嵌套“//”注釋,但不能嵌套“/*…*/”注釋。對(duì)5、-5%3的運(yùn)算結(jié)果是2。錯(cuò)三、選擇題1、以下選項(xiàng)中,哪些屬于合法的標(biāo)識(shí)符?(多選)ADA、Hello_WorldB、classC、123usernameD、username1232、關(guān)于方法重載的描述,以下選項(xiàng)中哪些是正確的?(多選)(AD)ABDA、方法名必須一致B、返回值類型必須不同博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效C、參數(shù)個(gè)數(shù)必須一致D、參數(shù)的個(gè)數(shù)或類型不一致3、以下關(guān)于變量的說(shuō)法錯(cuò)誤的是?CA、變量名必須是一個(gè)有效的標(biāo)識(shí)符B、變量在定義時(shí)可以沒(méi)有初始值C、變量一旦被定義,在程序中的任何位置都可以被訪問(wèn)D、在程序中,可以將一個(gè)byte類型的值賦給一個(gè)int類型的變量,不需要特殊聲明4、以下選項(xiàng)中,switch語(yǔ)句判斷條件可以接收的數(shù)據(jù)類型有哪些?(多選)ABCDA、intB、byteC、charD、short5、假設(shè)intx=2,三元表達(dá)式x>0?x+1:5的運(yùn)行結(jié)果是以下哪一個(gè)?CA、0B、2C、3D、56、下面的運(yùn)算符中,用于執(zhí)行除法運(yùn)算是哪個(gè)?AA、/B、\C、%D、*7、下列語(yǔ)句哪些屬于循環(huán)語(yǔ)句?(多選)ACA、for語(yǔ)句B、if語(yǔ)句C、while語(yǔ)句D、switch語(yǔ)句8、下面哪種寫法可以實(shí)現(xiàn)訪問(wèn)數(shù)組arr的第1個(gè)元素?AA、arr[0]B、arr(0)C、arr[1]D、arr(1)9、以下哪個(gè)選項(xiàng)可以正確創(chuàng)建一個(gè)長(zhǎng)度為3的二維數(shù)組?(B)CA、newint[2][3];B、newint[3][];C、newint[][3];D、以上答案皆不對(duì)10、請(qǐng)先閱讀下面的代碼。intx=1;inty=2;if(x%2==0){y++;博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效}else{}System.out.println("y="+y);y--;上面一段程序運(yùn)行結(jié)束時(shí),變量y的值為下列哪一項(xiàng)?AA、1B、2C、3D、switch語(yǔ)句四、程序分析題閱讀下面的程序,分析代碼是否能夠編譯通過(guò),如果能編譯通過(guò),請(qǐng)列出運(yùn)行的結(jié)果。否則請(qǐng)說(shuō)明編譯失敗的原因。代碼一:b=7(編譯不通過(guò)。int值4和b相加時(shí),由于變量b的類型為byte,取值范圍沒(méi)有int類型大,存不下int類型的值,因此編譯不通過(guò))publicclassTest01{}publicstaticvoidmain(String[]args){}byteb=3;b=b+4;System.out.println("b="+b);代碼二:不能,y只在{}有效(編譯不通過(guò)。這是因?yàn)閥是在最里層的代碼塊中定義的一個(gè)變量,只有在那個(gè)代碼)publicclassTest02{}publicstaticvoidmain(String[]args){}intx=12;{}y=x;System.out.println("xis"+x);inty=96;System.out.println("xis"+x);System.out.println("yis"+y);代碼三:3因?yàn)闆](méi)有break,,所以4以后都執(zhí)行publicclassTest03{博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效}publicstaticvoidmain(Stringargs[]){}intx=4,j=0;switch(x){case1:}System.out.println(j);j++;j++;j++;j++;j++;j++;case2:case3:case4:case5:default:代碼四:987publicclassTest04{}publicstaticvoidmain(Stringargs[]){}intn=9;while(n>6){}System.out.println(n);n--;五、簡(jiǎn)答題1、請(qǐng)列舉Java語(yǔ)言中的八種基本數(shù)據(jù)類型,并說(shuō)明每種數(shù)據(jù)類型所占用的空間大小。Java語(yǔ)言的八種基本數(shù)據(jù)類型有:byte字節(jié)型,占一個(gè)字節(jié)。short短整型,占兩個(gè)字節(jié)。int整型,占4個(gè)字節(jié)。long長(zhǎng)整型,占8個(gè)字節(jié)。float單精度浮點(diǎn)型,占4個(gè)字節(jié)。double雙精度浮點(diǎn)型,占8個(gè)字節(jié)。char字符型,占兩個(gè)字節(jié)。boolean型,表示邏輯值,有true和false兩個(gè)值,分別占一個(gè)字節(jié)。博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效2、簡(jiǎn)述&&與&的區(qū)別并舉例說(shuō)明。如果使用“&”在表達(dá)式之間進(jìn)行連接,那么無(wú)論任何情況,“&”兩邊的表達(dá)式都會(huì)參與計(jì)算。如果使用“&&”進(jìn)行連接,當(dāng)“&&”左邊的表達(dá)式為false,則不會(huì)執(zhí)行其右邊的表達(dá)式。例如定義intx=2,y=0;booleanb=x<y&x/2>0表達(dá)是會(huì)發(fā)生被0除異常,因?yàn)閤/y的表達(dá)式執(zhí)行了。而booleanb=x<y&x/2>0是不會(huì)出現(xiàn)這種異常的,因?yàn)閤<y為false,表達(dá)式x/y不會(huì)執(zhí)行3、什么是方法重載?方法重載指的是在一個(gè)類中可以聲明多個(gè)同名的方法,而方法中參數(shù)的個(gè)數(shù)或者數(shù)據(jù)類型不一致。調(diào)用這些同名的方法時(shí),JVM會(huì)根據(jù)實(shí)際參數(shù)的不同綁定到不同的方法。六、編程題請(qǐng)按照題目的要求編寫程序并給出運(yùn)行結(jié)果。1、請(qǐng)編寫程序,實(shí)現(xiàn)計(jì)算“1+3+5+7+…+99”的值。提示:1)使用循環(huán)語(yǔ)句實(shí)現(xiàn)自然數(shù)1~99的遍歷。2)在遍歷過(guò)程中,通過(guò)條件判斷當(dāng)前遍歷的數(shù)是否為奇數(shù),如果是就累加,否則不加。2、已知函數(shù)x+3(x>0)y=0(x=0)x2–1(x<0)請(qǐng)?jiān)O(shè)計(jì)一個(gè)方法實(shí)現(xiàn)上面的函數(shù),根據(jù)傳入的值x的不同,返回對(duì)應(yīng)的y值。提示:1)定義一個(gè)static修飾符修飾的方法,方法接收一個(gè)int類型的參數(shù)x,返回值為int類型。2)在方法中使用if…elseif..else語(yǔ)句針對(duì)x的值進(jìn)行三種情況的判斷。3)根據(jù)判斷結(jié)果分別執(zhí)行不同的表達(dá)式,并將結(jié)果賦予變量y。4)在方法的最后返回y的值。5)在main方法中調(diào)用設(shè)計(jì)好的方法,傳入一個(gè)int型的值,將方法的返回值打印。3、請(qǐng)編寫程序,實(shí)現(xiàn)對(duì)數(shù)組{25,24,12,76,101,96,28}的排序。提示:使用冒泡排序算法。博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效第3章面向?qū)ο螅ㄉ希┮?、填空題1、面向?qū)ο蟮娜筇卣魇欠庋b性_、_繼承性_____和__多態(tài)性____。2、在Java中,可以使用關(guān)鍵字__new____來(lái)創(chuàng)建類的實(shí)例對(duì)象。3、定義在類中的變量被稱為_(kāi)_成員變量____,定義在方法中的變量被稱為局部變量______4、面向?qū)ο蟪绦蛟O(shè)計(jì)的重點(diǎn)是_類___的設(shè)計(jì),__類____是用來(lái)創(chuàng)建對(duì)象的模板。5、在非靜態(tài)成員方法中,可以使用關(guān)鍵字_this__訪問(wèn)類的其它非靜態(tài)成員。6、當(dāng)一個(gè)對(duì)象被當(dāng)成垃圾從內(nèi)存中釋放時(shí),它的__finalize()____方法會(huì)被自動(dòng)調(diào)用。7、被static關(guān)鍵字修飾的成員變量被稱為_(kāi)靜態(tài)變量_,它可以被該類所有的實(shí)例對(duì)象共享。8、在一個(gè)類中,除了可以定義屬性、方法,還可以定義類,這樣的類被稱為_(kāi)內(nèi)部類_____。9、在Java中,提供了一個(gè)_javadoc_____命令,用于將程序中的文檔注釋提取出來(lái),生成HTML格式的幫助文檔。10、所謂類的封裝是指在定義一個(gè)類時(shí),將類中的屬性私有化,即使用_private_____關(guān)鍵字來(lái)修飾。二、判斷題1、在定義一個(gè)類的時(shí)候,如果類的成員被private所修飾,該成員不能在類的外部被直接訪問(wèn)。對(duì)2、Java中的每個(gè)類都至少有一個(gè)構(gòu)造方法,一個(gè)類中如果沒(méi)有定義構(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問(wèn)。對(duì)5、方法內(nèi)部類中不能訪問(wèn)外部類的成員變量。錯(cuò)三、選擇題1、類的定義必須包含在以下哪種符號(hào)之間?B博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效A、方括號(hào)[]B、花括號(hào){}C、雙引號(hào)“”D、圓括號(hào)()2、下面哪一個(gè)是正確的類的聲明?DA、publicvoidHH{…}B、publicclassMove(){…}C、publicclassvoidnumber{}D、publicclassCar{…}3、在以下什么情況下,構(gòu)造方法會(huì)被調(diào)用?BA、類定義時(shí)B、創(chuàng)建對(duì)象時(shí)C、調(diào)用對(duì)象方法時(shí)D、使用對(duì)象的變量時(shí)4、下面對(duì)于構(gòu)造方法的描述,正確有哪些?(多選)ABCA、方法名必須和類名相同B、方法名的前面沒(méi)有返回值類型的聲明C、在方法中不能使用return語(yǔ)句返回一個(gè)值D、當(dāng)定義了帶參數(shù)的構(gòu)造方法,系統(tǒng)默認(rèn)的不帶參數(shù)的構(gòu)造方法依然存在5、使用this調(diào)用類的構(gòu)造方法,下面的說(shuō)法正確的是?(多選)ACD(ABCD)A、使用this調(diào)用構(gòu)造方法的格式為this([參數(shù)1,參數(shù)2…])B、只能在構(gòu)造方法中使用this調(diào)用其它的構(gòu)造方法C、使用this調(diào)用其它構(gòu)造方法的語(yǔ)句必須放在第一行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)部類,下面說(shuō)法正確的是?(多選)ACD(ABCD)A、成員內(nèi)部類是外部類的一個(gè)成員,可以訪問(wèn)外部類的其它成員B、外部類可以訪問(wèn)成員內(nèi)部類的成員C、方法內(nèi)部類只能在其定義的當(dāng)前方法中進(jìn)行實(shí)例化博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效D、靜態(tài)內(nèi)部類中可以定義靜態(tài)成員,也可以定義非靜態(tài)成員8、下面對(duì)于單例設(shè)計(jì)模式的描述,正確的是?(多選)BCD(ABCD)A、類中定義一個(gè)無(wú)參的構(gòu)造方法,并且聲明為私有B、在內(nèi)部創(chuàng)建一個(gè)該類的實(shí)例對(duì)象,使用靜態(tài)變量引用該實(shí)例對(duì)象C、使用private修飾靜態(tài)變量,禁止外界直接訪問(wèn)D、定義靜態(tài)方法返回該類實(shí)例9、請(qǐng)先閱讀下面的代碼DpublicclassTest{publicTest(){System.out.println("構(gòu)造方法一被調(diào)用了");}publicTest(intx){this();System.out.println("構(gòu)造方法二被調(diào)用了");}publicTest(booleanb){this(1);System.out.println("構(gòu)造方法三被調(diào)用了");}publicstaticvoidmain(String[]args){}}Testtest=newTest(true);上面程序的運(yùn)行結(jié)果為下列哪一項(xiàng)?A、構(gòu)造方法一被調(diào)用了C、構(gòu)造方法三被調(diào)用了B、構(gòu)造方法二被調(diào)用了D、以上三個(gè)選項(xiàng)之和10、Outer類中定義了一個(gè)成員內(nèi)部類Inner,需要在main()方法中創(chuàng)建Inner類實(shí)例對(duì)象,以下四種方式哪一種是正確的?DA、Innerin=newInner()B、Innerin=newOuter.Inner();C、Outer.Innerin=newOuter.Inner();D、Outer.Innerin=newOuter().newInner();博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效四、程序分析題閱讀下面的程序,分析代碼是否能夠編譯通過(guò),如果能編譯通過(guò),請(qǐng)列出運(yùn)行的結(jié)果。否則請(qǐng)說(shuō)明編譯失敗的原因。代碼一:不能,secret是私有成員,只能類內(nèi)部訪問(wèn)(程序不能編譯通過(guò),因?yàn)樵陬怉中的成員變量secret用private修飾,所以在類Test1中無(wú)法訪問(wèn))classA{}publicclassTest1{}publicstaticvoidmain(String[]args){}Aa=newA();System.out.println(a.secret++);privateintsecret=5;代碼二:250(程序不能編譯通過(guò),因?yàn)樵陟o態(tài)方法method()中不能訪問(wèn)非靜態(tài)成員變量x。)publicclassTest2{}intx=50;staticinty=200;publicstaticvoidmethod(){}publicstaticvoidmain(String[]args){}Test2.method();System.out.println(x+y);代碼三:Inner為私有內(nèi)部類,不允許外部訪問(wèn)(inner)Innerinner=newOuter().newInner();可以用外部類訪問(wèn)內(nèi)部類publicclassOuter{publicStringname="Outer";privateclassInner{}publicstaticvoidmain(String[]args){Stringname="inner";voidshowName(){}System.out.println(name);博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效}}Innerinner=newOuter().newInner();System.out.println();五、簡(jiǎn)答題1、構(gòu)造方法和普通的成員方法有什么區(qū)別?構(gòu)造方法是類的一個(gè)特殊成員,它會(huì)在類實(shí)例化對(duì)象時(shí)被自動(dòng)調(diào)用。而普通方法只有在使用的時(shí)候才會(huì)被調(diào)用。在定義構(gòu)造方法時(shí)要求方法名與類名相同、在方法名的前面沒(méi)有返回值類型的聲明、在方法中不能使用return語(yǔ)句返回一個(gè)值2、單例設(shè)計(jì)模式具備哪些特點(diǎn)?單例模式可以保證在整個(gè)程序運(yùn)行期間針對(duì)該類只存在一個(gè)實(shí)例對(duì)象。六、編程題1、請(qǐng)按照以下要求設(shè)計(jì)一個(gè)學(xué)生類Student,并進(jìn)行測(cè)試。要求如下:1)Student類中包含姓名、成績(jī)兩個(gè)屬性2)分別給這兩個(gè)屬性定義兩個(gè)方法,一個(gè)方法用于設(shè)置值,另一個(gè)方法用于獲取值.3)Student類中定義一個(gè)無(wú)參的構(gòu)造方法和一個(gè)接收兩個(gè)參數(shù)的構(gòu)造方法,兩個(gè)參數(shù)分別為姓名和成績(jī)屬性賦值4)在測(cè)試類中創(chuàng)建兩個(gè)Student對(duì)象,一個(gè)使用無(wú)參的構(gòu)造方法,然后調(diào)用方法給姓名和成績(jī)賦值,一個(gè)使用有參的構(gòu)造方法,在構(gòu)造方法中給姓名和成績(jī)賦值2、定義一個(gè)Father和Child類,并進(jìn)行測(cè)試。要求如下:1)Father類為外部類,類中定義一個(gè)私有的String類型的屬性name,name的值為“zhangjun”。博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效2)Child類為Father類的內(nèi)部類,其中定義一個(gè)introFather()方法,方法中調(diào)用Father類的name屬性。3)定義一個(gè)測(cè)試類Test,在Test類的main()方法中,創(chuàng)建Child對(duì)象,并調(diào)用introFather()方法。第4章面向?qū)ο螅ㄏ拢┮?、填空題1、在Java語(yǔ)言中,允許使用已存在的類作為基礎(chǔ)創(chuàng)建新的類,這種技術(shù)我們稱為繼承______。2、一個(gè)類如果實(shí)現(xiàn)一個(gè)接口,那么它就需要實(shí)現(xiàn)接口中定義的全部_方法_____,否則該類就必須定義成_抽象類_____。3、在程序開(kāi)發(fā)中,要想將一個(gè)包中的類導(dǎo)入到當(dāng)前程序中,可以使用_import_____關(guān)鍵字。4、一個(gè)類可以從其它的類派生出來(lái),派生出來(lái)的類稱為_(kāi)子類_____,用于派生的類稱為_(kāi)基類_____或者_(dá)_父類____。5、JDK中定義了大量的異常類,這些類都是_Exception_____類的子類或者間接子類。6、定義一個(gè)Java類時(shí),如果前面加使用_final_____關(guān)鍵字修飾,那么該類不可以被繼承。7、如果子類想使用父類中的成員,可以通過(guò)關(guān)鍵字__super____引用父類的成員。8、在Java語(yǔ)言中,所有的類都直接或間接繼承自_Object_____類。9、異常的捕獲通常由try、catch兩部分組成,_try_____代碼塊用來(lái)存放可能發(fā)生異常,_catch_____代碼塊用來(lái)處理產(chǎn)生的異常。10、在Java語(yǔ)言中,要想是將一個(gè)已編譯的類打包成jar文件,可以使用的命令是_jar-cvf_____,要想在命令行窗口運(yùn)行jar文件,可以使用的命令是__java-jar___。二、判斷題博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效1、抽象方法必須定義在抽象類中,所以抽象類中的方法都是抽象方法。錯(cuò)2、Java中被final關(guān)鍵字修飾的變量,不能被重新賦值。對(duì)3、不存在繼承關(guān)系的情況下,也可以實(shí)現(xiàn)方法重寫。錯(cuò)4、package聲明語(yǔ)句應(yīng)當(dāng)為Java源文件中的第一條語(yǔ)句。對(duì)5、接口中只能定義常量和抽象方法。錯(cuò)(對(duì))三、選擇題1、在類的繼承關(guān)系中,需要遵循以下哪個(gè)繼承原則?BA、多重B、單一C、雙重D、不能繼承2、在Java語(yǔ)言中,以下哪個(gè)關(guān)鍵字用于在方法上聲明拋出異常?CA.tryB.catchC.throwsD.throw3、關(guān)于super關(guān)鍵字以下說(shuō)法哪些是正確的?(多選)ABD(ABC)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)造方法中4、以下說(shuō)法哪些是正確的?(多選)ABCDA、Java語(yǔ)言中允許一個(gè)類實(shí)現(xiàn)多個(gè)接口B、Java語(yǔ)言中不允許一個(gè)類繼承多個(gè)類C、Java語(yǔ)言中允許一個(gè)類同時(shí)繼承一個(gè)類并實(shí)現(xiàn)一個(gè)接口D、Java語(yǔ)言中允許一個(gè)接口繼承一個(gè)接口5、類中的一個(gè)成員方法被下面哪個(gè)修飾符修飾,該方法只能在本類被訪問(wèn)?CA、publicB、protectedC、privateD、default6、關(guān)于抽象類的說(shuō)法哪些是正確的?(多選)AC博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效A、抽象類中可以有非抽象方法。B、如果父類是抽象類,則子類必須重寫父類所有的抽象方法。C、不能用抽象類去創(chuàng)建對(duì)象。D、接口和抽象類是同一個(gè)概念。7、在Java中,要想讓一個(gè)類繼承另一個(gè)類,可以使用以下哪個(gè)關(guān)鍵字?CA、inheritsB、implementsC、extendsD、modifies8、System類位于以下哪個(gè)包中?DA、java.ioB、java.utilC、java.awtD、java.lang9、已知類的繼承關(guān)系如下:AclassEmployee;classManagerextendsEmployee;classDirectorextendsEmployee;則以下語(yǔ)句能通過(guò)編譯的有哪些?A、Employeee=newManager();B、Directord=newManager();C、Directord=newEmployee();D、Managerm=newDirector();10、編譯運(yùn)行下面的程序,結(jié)果是什么?BpublicclassA{}classBextendsA{}voidtest(){}super.test();System.out.print("B");publicstaticvoidmain(String[]args){}voidtest(){}System.out.print("A");Bb=newB();b.test();博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效A、產(chǎn)生編譯錯(cuò)誤B、代碼可以編譯運(yùn)行,并輸出結(jié)果ABC、代碼可以編譯運(yùn)行,但沒(méi)有輸出D、編譯沒(méi)有錯(cuò)誤,但會(huì)產(chǎn)生運(yùn)行時(shí)異常四、分析題閱讀下面的程序,分析代碼是否能編譯通過(guò),如果能編譯通過(guò),請(qǐng)列出運(yùn)行的結(jié)果。如果不能編譯通過(guò),請(qǐng)說(shuō)明原因。代碼一:進(jìn)入catch代碼塊進(jìn)入finally代碼塊(程序編譯能通過(guò),這是因?yàn)閕ntx=2/0;System.out.println(x);這兩條語(yǔ)句使用了try塊,捕獲了程序因?yàn)槌?而產(chǎn)生的異常情況,之后程序會(huì)繼續(xù)向下執(zhí)行,輸出“進(jìn)入catch代碼塊”,“進(jìn)入finally代碼塊”。)publicclassTest01{publicstaticvoidmain(String[]args){}try{intx=2/0;System.out.println(x);}catch(Exceptione){}System.out.println("進(jìn)入catch代碼塊");System.out.println("進(jìn)入finally代碼塊");}finally{}代碼二:不能,final修飾shout,不能被重寫(程序編譯不通過(guò),這是因?yàn)樵诔绦蛑惺褂昧薴inal關(guān)鍵字修飾Animal類,使得Animal類不能被繼承。shout()方法中同樣使用了final關(guān)鍵字,使得該方法不能被重寫。)finalclassAnimal{}classDogextendsAnimal{publicvoidshout(){//程序代碼publicfinalvoidshout(){}//程序代碼博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效}classTest02{}publicstaticvoidmain(String[]args){}Dogdog=newDog();}代碼三:動(dòng)物叫!汪汪……classAnimal{}classDogextendsAnimal{}publicclassTest03{}publicstaticvoidmain(String[]args){}Animalanimal=newDog();animal.shout();voidshout(){}super.shout();System.out.println("汪汪……");voidshout(){}System.out.println("動(dòng)物叫!");代碼四:不能,Dog沒(méi)有實(shí)現(xiàn)Animal所有方法,Dog為抽象類不能創(chuàng)建對(duì)象(程序編譯不通過(guò),因?yàn)榻涌谥卸x的方法不能有方法體,所以定義的eat()方法是錯(cuò)誤的。接口中的方法必須在子類中全部實(shí)現(xiàn),由于run()方法在子類中并沒(méi)有重新實(shí)現(xiàn),所以這也是錯(cuò)誤的。)interfaceAnimal{}classDogimplementsAnimal{publicvoidbreathe(){System.out.println("I’mbreathing")}voidbreathe();voidrun();voideat(){};博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效publicvoideat(){System.out.println("I’meathing")}}publicclasstest04{publicstaticvoidmain(String[]args){Dogdog=newDog();dog.breathe();dog.eat();}}五、簡(jiǎn)答題1、什么是方法重寫?在繼承關(guān)系中,子類的方法與父類的某一方法具有相同的方法名、返回類型和參數(shù)列表,則稱子類的該方法重寫(覆蓋)父類的方法。2、什么是多態(tài)?多態(tài)意味著一個(gè)對(duì)象有著多種形態(tài),可以在特定的情況下,表現(xiàn)不同的狀態(tài),從而對(duì)應(yīng)著不同的屬性和方法。簡(jiǎn)單的說(shuō),多態(tài)就是使用父類類型的變量引用子類對(duì)象,根據(jù)被引用子類對(duì)象的特性,程序會(huì)得到不同的運(yùn)行效果。3、抽象類和接口的區(qū)別?在Java中,使用abstract關(guān)鍵字修飾的類稱之為抽象類。抽象類是不能被實(shí)例化的,通常需要寫一個(gè)子類來(lái)繼承抽象類,同時(shí)實(shí)例化子類來(lái)獲得該類的對(duì)象。抽象類通常用于表示一種抽象的概念。接口可以說(shuō)是一種特殊的抽象類,接口中只能定義常量和抽象方法。由于接口的特殊性,在定義時(shí)需要使用interface關(guān)鍵字。六、編程題請(qǐng)按照題目的要求編寫程序并給出運(yùn)行結(jié)果。1、設(shè)計(jì)一個(gè)學(xué)生類Student和它的一個(gè)子類Undergraduate,要求如下:博學(xué)谷——讓IT教學(xué)更簡(jiǎn)單,讓IT學(xué)習(xí)更有效1)Student類有name(姓名)、和age(年齡)屬性,一個(gè)包含兩個(gè)參數(shù)的構(gòu)造方法,用于給name

溫馨提示

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