九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOCX文檔下載  

《Java基礎(chǔ)入門》課后習(xí)題及答案

  • 資源ID:56030908       資源大?。?span id="24d9guoke414" class="font-tahoma">337.77KB        全文頁數(shù):53頁
  • 資源格式: DOCX        下載積分:12積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要12積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

《Java基礎(chǔ)入門》課后習(xí)題及答案

Java 基礎(chǔ)入門課后習(xí)題及答案Java基礎(chǔ)入門課后習(xí)題第1章Java開發(fā)入門一、填空題1 、Java的三大體系分別就是_JavaSE、_JavaEE、_JavaME。2 、Java程序的運行環(huán)境簡稱之為JRE。3 、編譯Java程序需要使用_javac命令。4 、javac、exe與java、exe兩個可執(zhí)行程序存放在JDK安裝目錄的bin目錄下。5、 path環(huán)境變量用來存儲Java的編譯與運行工具所在的路徑,而_classpath環(huán)境變量則用來保存保存Java虛擬機(jī)要運行的“、class”文件路徑。二、選擇題1 、以下選項中,哪些屬于JDK工具?(多選)ABCDA、Java編譯器B、Java運行工具C、Java文檔生成工具D、Java打包工具2 、Java屬于以下哪種語言?CA、機(jī)器語言B、匯編語言C、高級語言D、以上都不對3、下面哪種類型的文件可以在Java虛擬機(jī)中運行?DA、javaB、jreC、exeD、class4、安裝好JDK后,在其bin目錄下有許多exe可執(zhí)行文件淇中java、exe命令的作用就是以下哪一種?BA、Java文檔制作工具B、Java解釋器C、Java編譯器D、Java啟動器5、如果jdk的安裝路徑為:d:jdk,若想在命令窗口中任何當(dāng)前路徑下,都可以直接使用javac與java命令,需要將環(huán)境變量path設(shè)置為以下哪個選項?BA.d:jdk;B.d:jdkbin;C.d:jrebin;D.d:jre;三、問答題1、簡述Java的特點。面向?qū)ο?、跨平臺性、健壯性、安全性、可移植性、多線程性、動態(tài)性等。2、簡述JRE與JDK的區(qū)別。JRE(JavaRuntimeEnvironment,Java運行時環(huán)境工它相當(dāng)于操作系統(tǒng)部分提供了Java程序運行時所需要的基本條件與許多Java基礎(chǔ)類,例如,IO類、GUI控件類、網(wǎng)絡(luò)類等。JRE就是提供給普通用戶使用的,如果您只想運行別人開發(fā)好的Java程序,那么,您的計算機(jī)上必須且只需安裝JRE。JDK(JavaDevelopmentKit,Java開發(fā)工具包,它包含編譯工具、解釋工具、文檔制作工具、打包工具多種與開發(fā)相關(guān)的工具,就是提供給Java開發(fā)人員使用的。初學(xué)者學(xué)習(xí)與使用Java語言時,首先必須下載與安裝JDK。JDK中已經(jīng)包含了JRE部分,初學(xué)者安裝JDK后不必再去下載與安裝JRE了。JDK(JavaDevelopmentKit,Java開發(fā)工具包,它包含編譯工具、解釋工具、文檔制作工具、打包工具多種與開發(fā)相關(guān)的工具,就是提供給Java開發(fā)人員使用的。初學(xué)者學(xué)習(xí)與使用Java語言時,首先必須下載與安裝JDK。JDK中已經(jīng)包含了JRE部分,初學(xué)者安裝JDK后不必再去下載與安裝JRE了。四、編程題使用記事本編寫一個HelloWorld程序,在dos命令行窗口編譯運行。請按照題目的要求編寫程序并給出運行結(jié)果。publicclassHelloWorldpublicstaticvoidmain(String口args)System、out、println("這就是第一個Java程序!");第2章Java編程基礎(chǔ)一、填空題1、Java中的程序代碼都必須在一個類中定義,類使用_class關(guān)鍵字來定義。2、布爾常量即布爾類型的兩個值,分別就是_true與_flase。3、Java中的注釋可分為三種類型,分別就是_單行注釋/_、_多行注釋_/*/_、文檔/注釋*/。4、 Java中的變量可分為兩種數(shù)據(jù)類型,分別就是_基本數(shù)據(jù)類型與_引用數(shù)據(jù)類型。5、在Java中,byte類型數(shù)據(jù)占1_個字節(jié),short類型數(shù)據(jù)占_2個字節(jié),int類型數(shù)據(jù)占4個字節(jié),long類型數(shù)據(jù)占8_個字節(jié)。6、在邏輯運算符中,運算符_&_與_&&_用于表示邏輯與,_|與_|表示邏輯或。7、若x=2,則表達(dá)式(x+)3的值就是_0_。8、若inta=2;a+=3;執(zhí)行后,變量a的值為_5。9、若inta=12,45,34,46,23;,則a2=_34。10、若inta32=123,345,34,56,34,56,則a21=_56。二、判斷題1、 、Java語言不區(qū)分大小寫。錯2、 0xC5表示的就是一個十六進(jìn)制整數(shù)。對3、 continue語句只用于循環(huán)語句中,它的作用就是跳出循環(huán)。錯4、“/*/'中可以嵌套“/”注釋,但不能嵌套“/*/”注釋。對5、 -5%3的運算結(jié)果就是2。錯三、選擇題1、以下選項中,哪些屬于合法的標(biāo)識符?(多選)ADA、Hello_WorldB、classC、123usernameD、username1232、關(guān)于方法重載的描述,以下選項中哪些就是正確的?(多選)(AD)ABDA、方法名必須一致B、返回值類型必須不同C、參數(shù)個數(shù)必須一致D、參數(shù)的個數(shù)或類型不一致3、以下關(guān)于變量的說法錯誤的就是?CA、變量名必須就是一個有效的標(biāo)識符B、變量在定義時可以沒有初始值C、變量一旦被定義,在程序中的任何位置都可以被訪問D、在程序中,可以將一個byte類型的值賦給一個int類型的變量,不需要特殊聲明4、以下選項中,switch語句判斷條件可以接收的數(shù)據(jù)類型有哪些?(多選)ABCDA、intB、byteC、charD、short5、假設(shè)intx=2,三元表達(dá)式x>0?x+1:5的運行結(jié)果就是以下哪一個?CA、0B、2C、3D、56、下面的運算符中,用于執(zhí)行除法運算就是哪個?AA、/B、C、D、*7、下列語句哪些屬于循環(huán)語句?(多選)ACA、for語句B、if語句C、while語句D、switch語句8、下面哪種寫法可以實現(xiàn)訪問數(shù)組arr的第1個元素?AA、arr0B、arr(0)C、arr1D、arr9、以下哪個選項可以正確創(chuàng)建一個長度為3的二維數(shù)組?(B)CA、newint23;B、newint3肛C、newint3;D、以上答案皆不對10、請先閱讀下面的代碼。intx=1;inty=2;if(x%2=0)y+;Java基礎(chǔ)入門課后習(xí)題及答案elsey-;System、out、println("y="+y);上面一段程序運行結(jié)束時,變量y的值為下列哪一項?AA、1B、2C、3D、switch語句四、程序分析題閱讀下面的程序,分析代碼就是否能夠編譯通過,如果能編譯通過,請列出運行的結(jié)果。否則請說明編譯失敗的原因。代碼一:b=7(編譯不通過。int值4與b相加時,由于變量b的類型為byte,取值范圍沒有int類型大,存不下int類型的值,因此編譯不通過)publicclassTest01publicstaticvoidmain(String口args)byteb=3;b=b+4;System、out、println("b="+b);代碼二:不能,y只在有效(編譯不通過。這就是因為y就是在最里層的代碼塊中定義的一個變量,只有在那個代碼)publicclassTest02publicstaticvoidmain(String口args)intx=12;inty=96;System、out、println("xis"+x);System、out、println("yis"+y);y=x;System、out、println("xis"+x);代碼三:3因為沒有break,所以4以后都執(zhí)行publicclassTest03publicstaticvoidmain(Stringargs口)intx=4,j=0;switch(x)case 1:j+;case 2: j+;case 3:j+;case 4:j+;case 5: j+;default:j+;System、out、println(j);代碼四:987publicclassTest04publicstaticvoidmain(Stringargs口)intn=9;while(n>6)System、out、println(n);n-;五、簡答題1、請列舉Java語言中的八種基本數(shù)據(jù)類型,并說明每種數(shù)據(jù)類型所占用的空間大小。Java語言的八種基本數(shù)據(jù)類型有:byte字節(jié)型,占一個字節(jié)。short短整型,占兩個字節(jié)。int整型,占4個字節(jié)。long長整型,占8個字節(jié)。float單精度浮點型,占4個字節(jié)。double雙精度浮點型,占8個字節(jié)。char字符型,占兩個字節(jié)。boolean型,表示邏輯值,有true與false兩個值,分別占一個字節(jié)。2、簡述&&與&的區(qū)別并舉例說明。如果使用“&”在表達(dá)式之間進(jìn)行連接,那么無論任何情況,“&”兩邊的表達(dá)式都會參與計算。如果使用“&&”進(jìn)行連接,當(dāng)“&&”左邊的表達(dá)式為false,則不會執(zhí)行其右邊的表達(dá)式。例如定義intx=2,y=0;booleanb=x<y&x/2>0表達(dá)就是會發(fā)生被0除異常,因為x/y的表達(dá)式執(zhí)行了。而booleanb=x<y&x/2>0就是不會出現(xiàn)這種異常的,因為x<y為false,表達(dá)式x/y不會執(zhí)行3、什么就是方法重載?方法重載指的就是在一個類中可以聲明多個同名的方法,而方法中參數(shù)的個數(shù)或者數(shù)據(jù)類型不一致。調(diào)用這些同名的方法時,JVM會根據(jù)實際參數(shù)的不同綁定到不同的方法。六、編程題請按照題目的要求編寫程序并給出運行結(jié)果。1、請編寫程序,實現(xiàn)計算“1+3+5+7+99"的值。提示:1)使用循環(huán)語句實現(xiàn)自然數(shù)199的遍歷。2)在遍歷過程中,通過條件判斷當(dāng)前遍歷的數(shù)就是否為奇數(shù),如果就是就累加,否則不加。2、已知函數(shù)Jx+3(x>0),0(x=0)jx2T(x<0)請設(shè)計一個方法實現(xiàn)上面的函數(shù),根據(jù)傳入的值x的不同,返回對應(yīng)的y值。提示:1)定義一個static修飾符修飾的方法,方法接收一個int類型的參數(shù)x,返回值為int類型。2)在方法中使用ifelseif、else語句針對x的值進(jìn)行三種情況的判斷。3)根據(jù)判斷結(jié)果分別執(zhí)行不同的表達(dá)式,并將結(jié)果賦予變量y。4)在方法的最后返回y的值。5)在main方法中調(diào)用設(shè)計好的方法,傳入一個int型的值,將方法的返回值打印。3、請編寫程序,實現(xiàn)對數(shù)組25,24,12,76,101,96,28的排序。提示:使用冒泡排序算法。Java 基礎(chǔ)入門課后習(xí)題及答案第3章面向?qū)ο?上)一、填空題1、 、面向?qū)ο蟮娜筇卣骶褪欠庋b性_、_繼承性與_多態(tài)性。2、 在Java中,可以使用關(guān)鍵字_new來創(chuàng)建類的實例對象。3、 定義在類中的變量被稱為_成員變量,定義在方法中的變量被稱為局部變量4、 面向?qū)ο蟪绦蛟O(shè)計的重點就是_類_的設(shè)計,_類就是用來創(chuàng)建對象的模板。5、 在非靜態(tài)成員方法中,可以使用關(guān)鍵字_this_訪問類的其它非靜態(tài)成員。6、 當(dāng)一個對象被當(dāng)成垃圾從內(nèi)存中釋放時,它的_finalize()方法會被自動調(diào)用。7、 被static關(guān)鍵字修飾的成員變量被稱為_靜態(tài)變量_,它可以被該類所有的實例對象共享。8、 在一個類中,除了可以定義屬性、方法,還可以定義類,這樣的類被稱為_內(nèi)部類。9、 在Java中,提供了一個avadoc命令,用于將程序中的文檔注釋提取出來,生成HTML格式的幫助文檔。10、 所謂類的封裝就是指在定義一個類時,將類中的屬性私有化,即使用_private關(guān)鍵字來修飾。二、判斷題1 、在定義一個類的時候,如果類的成員被private所修飾,該成員不能在類的外部被直接訪問。對2、Java中的每個類都至少有一個構(gòu)造方法,一個類中如果沒有定義構(gòu)造方法,系統(tǒng)會自動為這個類創(chuàng)建一個默認(rèn)的構(gòu)造方法。對3、聲明構(gòu)造方法時,不能使用private關(guān)鍵字修飾。錯4、類中static修飾的變量或方法,可以使用類名或?qū)ο蟮囊米兞吭L問。對5、方法內(nèi)部類中不能訪問外部類的成員變量。錯三、選擇題1、類的定義必須包含在以下哪種符號之間?A、方括號 B、花括號C、2、下面哪一個就是正確的的聲明?DA、publicvoidHH C 、publicclass void number3、在以下什么情況下,構(gòu)造方法會被調(diào)用?A 、 定義時B、創(chuàng)建對象時4、下面對于構(gòu)造方法的描述,正確有哪些?A 、方法名必須與名相同D 、圓括號()B、public class Move() D、 public class Car BC、 調(diào)用對象方法時D、 使用對象的變量時(多選)ABCB、方法名的前面沒有返回值型的聲明C、在方法中不能使用return語句返回一個值D、當(dāng)定義了帶參數(shù)的構(gòu)造方法,系統(tǒng)默認(rèn)的不帶參數(shù)的構(gòu)造方法依然存在5、使用this調(diào)用的構(gòu)造方法,下面的說法正確的就是?(多選)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)造方法的語句必須放在第一行D、不能在一個的兩個構(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)部就是外部的一個成員,可以訪問外部的其它成員B、外部可以訪問成員內(nèi)部的成員C、方法內(nèi)部類只能在其定義的當(dāng)前方法中進(jìn)行實例化Java基礎(chǔ)入門課后習(xí)題及答案D、靜態(tài)內(nèi)部類中可以定義靜態(tài)成員,也可以定義非靜態(tài)成員8、下面對于單例設(shè)計模式的描述,正確的就是?(多選)BCD(ABCD)A、類中定義一個無參的構(gòu)造方法,并且聲明為私有B、在內(nèi)部創(chuàng)建一個該類的實例對象,使用靜態(tài)變量引用該實例對象C、使用private修飾靜態(tài)變量,禁止外界直接訪問D、定義靜態(tài)方法返回該類實例9、請先閱讀下面的代碼Dpublic class Test public Test()System、out、println(" public Test(int x)this();System、out、println(" public Test(boolean b)this(1);System、out、println(" 構(gòu)造方法一被調(diào)用了");構(gòu)造方法二被調(diào)用了");構(gòu)造方法三被調(diào)用了");publicstaticvoidmain(String口args)Testtest=newTest(true);上面程序的運行結(jié)果為下列哪一項?A、構(gòu)造方法一被調(diào)用了B、構(gòu)造方法二被調(diào)用了C、構(gòu)造方法三被調(diào)用了D、以上三個選項之與10、Outer類中定義了一個成員內(nèi)部類Inner,需要在main()方法中創(chuàng)建Inner類實例對象,以下四種方式哪一種就是正確的? DA、Inner in = new Inner()B、Inner in = new Outer、Inner();C、Outer、Innerin=newOuter、Inner();D、Outer、Innerin=newOuter()、newInner();四、程序分析題閱讀下面的程序,分析代碼就是否能夠編譯通過,如果能編譯通過,請列出運行的結(jié)果。否則請說明編譯失敗的原因。代碼一:不能,secret就是私有成員,只能類內(nèi)部訪問(程序不能編譯通過,因為在類A中的成員變量secret用private修飾,所以在類Testi中無法訪問)classAprivateintsecret=5;publicclassTestipublicstaticvoidmain(String口args)Aa=newA();System、out、println(a、secret+);代碼二:250(程序不能編譯通過,因為在靜態(tài)方法method()中不能訪問非靜態(tài)成員變量x。)publicclassTest2intx=50;staticinty=200;publicstaticvoidmethod()System、out、println(x+y);publicstaticvoidmain(String口args)Test2、method();代碼三:Inner為私有內(nèi)部類,不允許外部訪問(inner)Innerinner=newOuter。、newInner();可以用外部類訪問內(nèi)部類publicclassOuterpublicStringname="Outer"privateclassInnerStringname="inner"voidshowName()System、out、println(name);publicstaticvoidmain(Stringargs)Innerinner=newOuter()、newInner();System、out、println(inner、name);五、簡答題1、構(gòu)造方法與普通的成員方法有什么區(qū)別?構(gòu)造方法就是類的一個特殊成員,它會在類實例化對象時被自動調(diào)用。而普通方法只有在使用的時候才會被調(diào)用。在定義構(gòu)造方法時要求方法名與類名相同、在方法名的前面沒有返回值類型的聲明、在方法中不能使用return語句返回一個值2、單例設(shè)計模式具備哪些特點?單例模式可以保證在整個程序運行期間針對該類只存在一個實例對象。六、編程題1、請按照以下要求設(shè)計一個學(xué)生類Student,并進(jìn)行測試。要求如下:1)Student類中包含姓名、成績兩個屬性2)分別給這兩個屬性定義兩個方法,一個方法用于設(shè)置值,另一個方法用于獲取值、3)Student類中定義一個無參的構(gòu)造方法與一個接收兩個參數(shù)的構(gòu)造方法,兩個參數(shù)分別為姓名與成績屬性賦值4)在測試類中創(chuàng)建兩個Student對象,一個使用無參的構(gòu)造方法,然后調(diào)用方法給姓名與成績賦值,一個使用有參的構(gòu)造方法,在構(gòu)造方法中給姓名與成績賦值2、定義一個Father與Child類,并進(jìn)行測試。要求如下:1)Father類為外部類,類中定義一個私有的String類型的屬性name,name的值為"zhangjun”。2)Child類為Father類的內(nèi)部類淇中定義一個introFather()方法,方法中調(diào)用Father類的name屬性。3)定義一個測試類Test,在Test類的main()方法中創(chuàng)建Child對象,并調(diào)用introFather()方法。第4章面向?qū)ο?下)一、填空題1、在Java語言中,允許使用已存在的類作為基礎(chǔ)創(chuàng)建新的類,這種技術(shù)我們稱為繼承。2、一個類如果實現(xiàn)一個接口,那么它就需要實現(xiàn)接口中定義的全部一方法,否則該類就必須定義成抽象類。3、在程序開發(fā)中,要想將一個包中的類導(dǎo)入到當(dāng)前程序中,可以使用_import關(guān)鍵字。4、一個類可以從其它的類派生出來,派生出來的類稱為子類,用于派生的類稱為_基類或者父類。5、JDK中定義了大量的異常類,這些類都就是.Exception類的子類或者間接子類。6、定義一個Java類時,如果前面加使用_final關(guān)鍵字修飾,那么該類不可以被繼承。7、如果子類想使用父類中的成員,可以通過關(guān)鍵字_super引用父類的成員。8、在Java語言中,所有的類都直接或間接繼承自.Object類。9、異常的捕獲通常由try、catch兩部分組成,_try代碼塊用來存放可能發(fā)生異常,_catch代碼塊用來處理產(chǎn)生的異常。10、在Java語言中耍想就是將一個已編譯的類打包成jar文件,可以使用的命令就是jar-cvf,要想在命令行窗口運行jar文件,可以使用的命令就是_java-jar。二、判斷題1、抽象方法必須定義在抽象類中,所以抽象類中的方法都就是抽象方法。錯2、Java中被final關(guān)鍵字修飾的變量,不能被重新賦值。對Java基礎(chǔ)入門課后習(xí)題及答案3、不存在繼承關(guān)系的情況下,也可以實現(xiàn)方法重寫。錯4、package聲明語句應(yīng)當(dāng)為Java源文件中的第一條語句。對5、 接口中只能定義常量與抽象方法。錯(對)三、選擇題1 、在類的繼承關(guān)系中,需要遵循以下哪個繼承原則?BA、多重B、單一C、雙重D、不能繼承2、在Java語言中,以下哪個關(guān)鍵字用于在方法上聲明拋出異常?CA、tryB、catchC、throwsD、throw3、關(guān)于super關(guān)鍵字以下說法哪些就是正確的?(多選)ABD(ABC)A、super關(guān)鍵字可以調(diào)用父類的構(gòu)造方法B、super關(guān)鍵字可以調(diào)用父類的普通方法C、super與this不能同時存在于同一個構(gòu)造方法中D、super與this可以同時存在于同一個構(gòu)造方法中4、以下說法哪些就是正確的?(多選)ABCDA、Java語言中允許一個類實現(xiàn)多個接口B、Java語言中不允許一個類繼承多個類C、Java語言中允許一個類同時繼承一個類并實現(xiàn)一個接口D、Java語言中允許一個接口繼承一個接口5、類中的一個成員方法被下面哪個修飾符修飾,該方法只能在本類被訪問?CA、publicB、protectedC、privateD、default6、關(guān)于抽象類的說法哪些就是正確的?(多選)ACA、抽象類中可以有非抽象方法。B、如果父類就是抽象類,則子類必須重寫父類所有的抽象方法。C、不能用抽象類去創(chuàng)建對象。D、接口與抽象類就是同一個概念。7、在Java中,要想讓一個類繼承另一個類,可以使用以下哪個關(guān)鍵字?CA、inherits B、implementsC、extendsD、modifies8、System類位于以下哪個包中?DA、java、io B、java、utilC、java、awt D、java、lang9、已知類的繼承關(guān)系如下:Aclass Employee;class Manager extends Employee;class Director extends Employee;則以下語句能通過編譯的有哪些?A、 Employee e=new Manager。;B、 Director d=new Manager。;C、 Director d=new Employee。;D、Manager m=new Director。;10、編譯運行下面的程序,結(jié)果就是什么? Bpublic class A public static void main(String口 args) B b = new B();b、test();void test() System、out、print("A");class B extends A void test() super 、test();System、out、print("B");A、產(chǎn)生編譯錯誤B、代碼可以編譯運行,并輸出結(jié)果ABC、代碼可以編譯運行,但沒有輸出D、編譯沒有錯誤,但會產(chǎn)生運行時異常四、分析題閱讀下面的程序,分析代碼就是否能編譯通過,如果能編譯通過,請列出運行的結(jié)果。如果不能編譯通過請說明原因。代碼一:進(jìn)入catch代碼塊進(jìn)入finally代碼塊(程序編譯能通過,這就是因為intx=2/0;System、out、println(x);這兩條語句使用了try塊,捕獲了程序因為除以。而產(chǎn)生的異常情況,之后程序會繼續(xù)向下執(zhí)行,輸出“進(jìn)入catch代碼塊”“進(jìn)入finally代碼塊”。)publicclassTest01publicstaticvoidmain(String口args)tryintx=2/0;System、out、println(x);catch(Exceptione)System、out、println("進(jìn)入catch代碼塊");finallySystem、out、println("進(jìn)入finally代碼塊");代碼二:不能,final修飾shout不能被重寫(程序編譯不通過,這就是因為在程序中使用了final關(guān)鍵字修飾Animal類,使彳導(dǎo)Animal類不能被繼承。shout()方法中同樣使用了final關(guān)鍵字,使得該方法不能被重寫。)finalclassAnimalpublicfinalvoidshout()/程序代碼classDogextendsAnimalpublicvoidshout()/程序代碼classTest02publicstaticvoidmain(Stringargs)Dogdog=newDog();代碼三:動物叫!汪汪classAnimalvoidshout()System、out、println("動物叫!");classDogextendsAnimalvoidshout()super、shout();System、out、println("汪汪");publicclassTest03publicstaticvoidmain(String口args)Animalanimal=newDog();animal、shout();代碼四:不能,Dog沒有實現(xiàn)Animal所有方法,Dog為抽象類不能創(chuàng)建對象(程序編譯不通過,因為接口中定義的方法不能有方法體,所以定義的eat()方法就是錯誤的。接口中的方法必須在子類中全部實現(xiàn),由于run()方法在子類中并沒有重新實現(xiàn),所以這也就是錯誤的。)interfaceAnimalvoidbreathe();voidrun();voideat();classDogimplementsAnimalpublicvoidbreathe()System、out、println("I'mbreathing")publicvoideat()System、out、println("I'meathing")publicclasstest04publicstaticvoidmain(Stringargs)Dogdog=newDog();dog、breathe();dog、eat();五、簡答題1、什么就是方法重寫?在繼承關(guān)系中,子類的方法與父類的某一方法具有相同的方法名、返回類型與參數(shù)列表,則稱子類的該方法重寫(覆蓋)父類的方法。2、什么就是多態(tài)?多態(tài)意味著一個對象有著多種形態(tài),可以在特定的情況下,表現(xiàn)不同的狀態(tài),從而對應(yīng)著不同的屬性與方法。簡單的說,多態(tài)就就是使用父類類型的變量引用子類對象,根據(jù)被引用子類對象的特性,程序會得到不同的運行效果。3、抽象類與接口的區(qū)別?在Java中,使用abstract關(guān)鍵字修飾的類稱之為抽象類。抽象類就是不能被實例化的,通常需要寫一個子類來繼承抽象類,同時實例化子類來獲得該類的對象。抽象類通常用于表示一種抽象的概念。接口可以說就是一種特殊的抽象類,接口中只能定義常量與抽象方法。由于接口的特殊性,在定義時需要使用interface關(guān)鍵字。六、編程題請按照題目的要求編寫程序并給出運行結(jié)果。1、設(shè)計一個學(xué)生類Student與它的一個子類Undergraduate,要求如下:1)Student類有name(姓名)、與age(年齡)屬性,一個包含兩個參數(shù)的構(gòu)造方法,用于給name與age屬性賦值,一個show()方法打印Student的屬性信息2)本科生類Undergraduate增加一個degree(學(xué)位)屬性。有一個包含三個參數(shù)的構(gòu)造方法,前兩個參數(shù)用于給繼承的name與age屬性賦值,第三個參數(shù)給degree專業(yè)賦值,一個show()方法用于打印Undergraduate的屬性信息3)在測試類中分別創(chuàng)建Student對象與Undergraduate對象,調(diào)用它們的show()。 Java 基礎(chǔ)入門課后習(xí)題及答案2、設(shè)計一個Shape接口與它的兩個實現(xiàn)類Square與Circle,要求如下:1)Shape接口中有一個抽象方法area(),方法接收有一個double類型的參數(shù),返回一個double類型的結(jié)果2)Square與Circle中實現(xiàn)了Shape接口的area()抽象方法,分別求正方形與圓形的面積并返回在測試類中創(chuàng)建Square與Circle對象,計算邊長為2的正方形面積與半徑為3的圓形面積3、自定義一個異常類NoThisSoundException與Player類,在Player的play()方法中使用自定義異常,要求入下:1 )NoThisSongException繼承Exception類,類中有一個無參與一個接收一個String類型參數(shù)的構(gòu)造方法,構(gòu)造方法中都使用super關(guān)鍵字調(diào)用父類的構(gòu)造方法。2 )Player類中定義一個play(intindex)方法,方法接收一個int類型的參數(shù),表示播放歌曲的索引,當(dāng)index>10時,paly()方法用throw關(guān)鍵字拋出NoThisSongException異常,創(chuàng)建異常對象時,調(diào)用有參的構(gòu)造方法,傳入“您播放的歌曲不存在”。3)在測試類中創(chuàng)建Player對象,并調(diào)用play()方法測試自定義的NoThisSongException異常,使用trycatch語句捕獲異常,調(diào)用NoThisSongException的getMessage()方法打印出異常信息。第5章多線程一、填空題1 、一個應(yīng)用程序中有多條并發(fā)執(zhí)行的線索,每條線索都被稱作一個線程,它們會交替執(zhí)行,彼此間可以進(jìn)行_通信。2、在實現(xiàn)多線程的程序時有兩種方式,一就是通過繼_Thread承類,二就是通過實現(xiàn)Runnable接口。3、 yield()方法只能讓相同優(yōu)先級或者更高優(yōu)先級、處于_就緒狀態(tài)的線程獲得運行的機(jī)會。4、 在Java語言中,同步方法需要用到關(guān)鍵字_synchronized_,對于同步方法而言無需指定同步鎖,它的同步鎖就是方法所在的_對象,也就就是_this(關(guān)鍵字)。5、在多任務(wù)系統(tǒng)中,每個獨立執(zhí)行的程序稱之為_線程,也就就是“正在運行的程序”。6、線程的整個生命周期分為五個階段,分別就是_新建、就緒、_運行、_阻塞、與死亡。7、線程的優(yōu)先級用110之間的整數(shù)來表示,其中_10_代表優(yōu)先級最高,_1_代表優(yōu)先級最低。8、在Thread類中,提供了一個start()方法,該方法用于啟動線程,當(dāng)新線程啟動后,系統(tǒng)會自動調(diào)用_run()方法。9、要想解決線程間的通信問題,可以使用_wait()、notify()、_notifyALL()方法。10、要將某個線程設(shè)置為后臺線程,需要調(diào)用該線程的_setDaemon(true)方法,該方法必須在_start()方法之前調(diào)用。二、判斷題1、當(dāng)我們創(chuàng)建一個線程對象時,該對象表示的線程就立即開始運行。錯2、如果前臺線程全部死亡,后臺線程也會自動死亡。對3、同步代碼塊中的鎖對象可以就是任意類型的對象。對4、靜態(tài)方法不能使用synchronized關(guān)鍵字來修飾。錯5、線程結(jié)束等待或者阻塞狀態(tài)后,會進(jìn)入運行狀態(tài)。錯三、選擇題1 、Thread類位于下列哪個包中?BA、java、ioB、java、langC、java、utilD、java、awt2、關(guān)于線程的創(chuàng)建過程,下面四種說法正確的有哪些?(多選)ACA、定義Thread類的子類,重寫Thread類的run()方法,創(chuàng)建該子類的實例對象,調(diào)用對象的start()方法B、定義Thread類的子類,重寫Thread類的run()方法,創(chuàng)建該子類的實例對象,調(diào)用對象的run()方法C、定義一個實現(xiàn)Runnable接口的類并實現(xiàn)run()方法,創(chuàng)建該類實例對象,將其作為參數(shù)傳遞給Thread類的構(gòu)造方法來創(chuàng)建Thread對象,調(diào)用Thread對象的start()方法D、定義一個實現(xiàn)Runnable接口的類并實現(xiàn)run()方法,創(chuàng)建該類對象,然后調(diào)用run()方法3、對于通過實現(xiàn)Runnable接口創(chuàng)建線程,下面說法正確的有哪些?(多選)ABCA、適合多個相同程序代碼的線程去處理同一個資源的情況B、把線程同程序代碼、數(shù)據(jù)有效的分離,很好的體現(xiàn)了面向?qū)ο蟮脑O(shè)計思想C、可以避免由于Java的單繼承帶來的局限性D、編寫簡單,可以不通過Thread類直接創(chuàng)建線程4、對于線程的生命周期,下面四種說法正確的有哪些?(多選)ABC(BC)A、調(diào)用了線程的start()方法,該線程就進(jìn)入運行狀態(tài)(就緒,還要獲得CPU使用權(quán))B、線程的run()方法運行結(jié)束或被未catch的InterruptedException等異常終結(jié),那么該線程進(jìn)入死亡狀態(tài)C、線程進(jìn)入死亡狀態(tài),但就是該線程對象仍然就是一個Thread對象,在沒有被垃圾回收器回收之前仍可以像引用其它對象一樣引用它D、線程進(jìn)入死亡狀態(tài)后,調(diào)用它的start()方法仍然可以重新啟動5、對于死鎖的描,下面四種說法正確有哪些?(多選)AB(ABD)A、當(dāng)兩個線程互相等待對方釋放同步鎖時會發(fā)生死鎖B、Java虛擬機(jī)沒有檢測與處理死鎖的措施C、一旦出現(xiàn)死鎖,程序會發(fā)生異常Java基礎(chǔ)入門課后習(xí)題及答案D、處于死鎖狀態(tài)的線程處于阻塞狀態(tài),無法繼續(xù)運行6、下面四個選項中,哪些就是線程進(jìn)入阻塞狀態(tài)的原因?(多選)ABCA、線程試圖獲取某個對象的同步鎖,而該鎖被其它線程持有B、線程調(diào)用了另一個線程的join()方法C、當(dāng)線程調(diào)用了一個阻塞式的IO方法D、線程調(diào)用了setDaemon(booleanb)方法7、線程調(diào)用sleep()方法后,該線程將進(jìn)入以下哪種狀態(tài)?CA、就緒狀態(tài)B、運行狀態(tài)C、阻塞狀態(tài)D、死亡狀態(tài)8、在以下哪種情況下,線程進(jìn)入就緒狀態(tài)?DA、線程調(diào)用了sleep()方法時B、線程調(diào)用了join()方法(終止)C、線程調(diào)用了yield()方法時D、線程調(diào)用了notify()方法?9、下面四個選項中,對線程同步的目的描述正確的有哪些?(多選)AD(AB)A、鎖定資源,使同一時刻只有一個線程去訪問它,防止多個線程操作同一個資源引發(fā)錯誤B、提高線程的執(zhí)行效率C、讓線程獨占一個資源D、讓多個線程同時使用一個資源10、對于wait()方法,下面說法正確的就是?(多選)ABCDA、wait()方法的調(diào)用者就是同步鎖對象B、wait()方法使線程進(jìn)入等待狀態(tài)C、調(diào)用同一鎖對象的notify()或notifyAll()方法可以喚醒調(diào)用wait()方法等待的線程D、調(diào)用wait()方法的線程會釋放同步鎖對象四、程序分析題閱讀下面的程序,分析代碼就是否能編譯通過,如果能編譯通過,請列出運行的結(jié)果。如果不能編譯通過請說明原因。1、代碼一:不能,RunHandler沒有繼承Thread,不能用Thread創(chuàng)建對象(程序不能編譯通過,因為RunHandler類沒有實現(xiàn)Runnable接口,因此RunHandler的實例對象不能作為參數(shù)傳遞給Thread的構(gòu)造方法。)classRunHandlerpublicvoidrun()System、out、println("run");publicclassTestpublicstaticvoidmain(Stringargs)Threadt=newThread(newRunHandler();t、start();2、代碼二:thisisrun(程序不能編譯通過,因為Thread的子類A重寫的run()方法的訪問級別不能低于父類run()方法的。訪問級別)publicclassAextendsThreadprotectedvoidrun()System、out、println("thisisrun()");publicstaticvoidmain(String口args)Aa=newA();a、start();3、代碼三:Exception(程序不能編譯通過,因為同步方法中調(diào)用wait()方法的對象必須為同步鎖對象)publicclassTestprivateObjectobj=newObject();publicsynchronizedvoida()tryobj、wait();改this、wait()System、out、println("waiting");Java基礎(chǔ)入門課后習(xí)題及答案catch(InterruptedExceptione)System、out、println("Exception");publicstaticvoidmain(String口args)newTest()、a();4、為了使下面的程序能夠輸出"Threadisrunning”,請在在空格處填上相應(yīng)的代碼。publicclassBimplementsRunnablepublicstaticvoidmain(String口args)Threadt=newThread(newB();_t、start()/此處填空publicvoidrun()System、out、println("Threadisrunning");publicvoidgo()start(1);publicvoidstart(inti)五、簡答題1、java中有幾種方法可以實現(xiàn)一個線程?請舉例說明。一種就是繼承java、lang包下的Thread類履寫Thread類的run()方法,在run()方法中實現(xiàn)運行在線程上的代碼。newThread()publicvoidrun()、start();另一種就就是實現(xiàn)java、lang、Runnable接口,同樣就是在run()方法中實現(xiàn)運行在線程上的代碼。newThread(newRunnable()publicvoidrun()、start()2、sleep()與 wait()有什么區(qū)別Java基礎(chǔ)入門課后習(xí)題及答案調(diào)用sleep()方法,正在執(zhí)行的線程主動讓出CPU去執(zhí)行其她線程,在sleep()方法指定的時間過后,CPU才會回到這個線程上繼續(xù)往下執(zhí)行,如果當(dāng)前線程進(jìn)入了同步鎖,sleep()方法并不會釋放鎖,即使當(dāng)前線程使用sleep()方法讓出了CPU,但其它被同步鎖擋住了的線程也無法得到執(zhí)行。wait()在一個已經(jīng)進(jìn)入了同步鎖的線程內(nèi)進(jìn)行調(diào)用,讓當(dāng)前線程暫時讓出同步鎖,以便其它正在等待此鎖的線程可以得到同步鎖并運行。當(dāng)其它線程調(diào)用了notify()方法后,調(diào)用wait()方法的線程就會解除wait狀態(tài),當(dāng)再次獲得同步鎖后,程序可以繼續(xù)向下執(zhí)行。六、編程題請按照題目的要求編寫程序并給出運行結(jié)果。1、通過繼承Thread類的方式創(chuàng)建兩個線程,在Thread構(gòu)造方法中指定線程的名字,并將這兩個線程的名字打印出來。2、通過實現(xiàn)Runnable接口的方式創(chuàng)建一個新線程,要求main線程打印100此次“main”,新線程打印50次“new”。3、模擬傳智播客的三個老師同時分發(fā)80份學(xué)習(xí)筆記,每個老師相當(dāng)于一個線程。4、編寫10個線程,第一個線程從1加到10,第二個線程從11加到20、第十個線程從91加到100,最后再把十個線程結(jié)果相加。第6章JavaAPI一、填空題1、在Java中定義了兩個類來封裝對字符串的操作,它們分別就是String_與_StringBuffer。2、Java中的操作日期的類有_Date_、_Calendar_、DateFormat等。3、在程序中若想取得一個Runtime實例,則可以調(diào)用Runtime類的靜態(tài)方法getRnutime()。4、Math類中用于計算所傳遞參數(shù)平方根的方法就是_sqrt()。5、Java中專門用于將日期格式化為字符串的類就是_DateFormat。6、Math類中有兩個靜態(tài)常量PI與E,分別代表數(shù)學(xué)常量_兀_與_e。7、Java中的用于產(chǎn)生隨機(jī)數(shù)的類就是_Random,它位于java、util包中。8、String類中用于返回字符串字符個數(shù)的方法就是_length()。9、System類中所提供的屬性與方法都就是靜態(tài)的,想要引用這些屬性與方法,直接使用System類調(diào)用即可。10、已知sb為StringBuffer的一個實例,且sb、toString()的值為"abcde",則執(zhí)行sb、reverse。后,sb、toString()的值為_"edcba_"。二、判斷題1、String對象與StringBuffer對象都就是字符串變量,創(chuàng)建后都可以修改。錯2、用運算符“=”比較字符串對象時,如果兩個字符串的值相同,結(jié)果為true。錯3、System類中的currentTimeMillis()方法返回一個long類型的值。對4、Date、Calendar以及DateFormat類都位于java、util包中。錯分別java、util、Datejava、util、Calendarjava、text、DateFormat5、String類的方法replace(CharSequencesrt1,CharSequencesrt2)返回一個新的字符串,它就是通過用srt2替換此字符串中出現(xiàn)的所有srt1得到的。對三、選擇題。1、先閱讀下面的程序片段:CStringstr="abccdefcdh"Stringarr=str、split("c");System、out、println(arr、length);程序執(zhí)行后,打印的結(jié)果就是幾?A、2個B、3個C、4個D、5個2、以下都就是Math類的常用方法,其中用于計算絕對值的方法就是哪個?A、ceil()B、floor()C、abs()D、random。3、Random對象能夠生成以下哪種類型的隨機(jī)數(shù)?DA、intB、stringC、doubleD、A與C4、Strings="abcdedcba"則s、substring(3,4)返回的字符串就是以下選項中的哪個?CA、cdB、deC、dD、e5、假若indexOf()方法未能找到所指定的子字符串,則返回以下選項中的哪個?CA、falseB、0C、-1D、以上答案都不對6、要產(chǎn)生20,999之間的隨機(jī)整數(shù)可以使用以下哪個表達(dá)式?BA.(int)(20+Math、random()*97)B、20+(int)(Math、random()*980)C、(int)Math、random()*999D、20+(int)Math、random()*9807、以下Math類的方法中,-4、4通過哪個方法運算后,結(jié)果為-5、0?D(C)A、round()四舍五入B、min()C、floor()小于參數(shù)最大整數(shù)D、ceil()大于參數(shù)最小整數(shù)8、下面的程序段執(zhí)行后,輸出的結(jié)果就是以下哪個選項?AStringBufferbuf=newStringBuffer("Beijing2008");buf、insert(7,"");System、out、println(buf、toString();A、Beijing2008B、Beijing2008C、Beijing2008D、Beijing#20089、閱讀下面的程序:Apublicclasstestpublicstaticvoidmain(Stringargs)inti;floatf=2、3f;doubled=2、7;i=(int)Math、ceil(f)*(int)Math、round(d);System、out、println(i);程序執(zhí)行后,運行結(jié)果為以下哪個選項?A、9B、5C、6D、6、110、先閱讀下面的程序片段:BStringstr1=newString("java");Stringstr2=newString("java");StringBufferstr3=newStringBuffer("java");對于上述定義的變量,以下表達(dá)式的值為true的就是哪個?A、str1=str2;B、str1>equals(str2);C、str1=str3;D、以上都不對四、程序分析題。閱讀下面的程序,分析代碼就是否能編譯通過,如果能編譯通過,請列出運行的結(jié)果。如果不能編譯通過,請說明原因。代碼一:57、0-8、0-58、1-6、1publicclassApublicstaticvoidmain(String口args)System、out、println(Math、abs(-5);System、out、println(Math、ceil(6、6);System、out、println(Math、floor(-7、8);System、out、println(Math、round(-4、9);System、out、println(Math、max(8、1,-8、1);System、out、println(Math、min(6、1,-6、1);代碼二:str、length():15str、charAt(0):dlastIndexOf(m):"10substring(2,4):feindexOf(g):5publicclassB

注意事項

本文(《Java基礎(chǔ)入門》課后習(xí)題及答案)為本站會員(無***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!