Java程序設(shè)計教程 課后答案_第1頁
Java程序設(shè)計教程 課后答案_第2頁
Java程序設(shè)計教程 課后答案_第3頁
Java程序設(shè)計教程 課后答案_第4頁
Java程序設(shè)計教程 課后答案_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/Java程序設(shè)計教程第3版課后答案

第一章填空題:1、Java源程序文件的擴展名是_java_;Java源程序經(jīng)編譯后生成Java字節(jié)碼文件,其擴展名是_class_。2、在Java語言中,將源代碼翻譯成_java字節(jié)碼文件_時產(chǎn)生的錯誤稱為編譯錯誤,而將程序在運行中產(chǎn)生的錯誤稱為運行錯誤。3、一個Application源程序文件名為MyPro.java,如果使用Sun公司的Java開發(fā)工具SDK編譯該源程序文件并使用其虛擬機運行這個程序的字節(jié)碼文件,應(yīng)該順序執(zhí)行如下兩個命令:_javacMyPro.java_、_javaMyPro_。4.已知:inta=8,b=6;則:表達(dá)式++a-b++的值為_3_。5.已知:booleanb1=true,b2;則:表達(dá)式!b1&&b2||b2的值為_false_。6.表達(dá)式(18-4)/7+6的運算結(jié)果是_8_。7、表達(dá)式5>2&&8<8&&23<36的運算結(jié)果是_false_。思考題:1、源程序是什么?答:源程序文件的三要素:一、以package語句開始的包聲明語句為可選,若有,只能有一個且必須是第一句,若沒有,此文件將放到默認(rèn)的當(dāng)前目錄下二、以import語句開始的類引入聲明語句,數(shù)量可以是任意個三、class定義和interface定義中,由public開始的類定義只能有一個,且要求源程序文件名必須與public類名相同,Java語言對字符的大小寫敏感2、編譯的作用是什么?答:用Java語言編輯的源程序的執(zhí)行方法是采用先經(jīng)過編譯器編譯、再利用解釋器解釋的方式來運行的。3、什么是Java的byte-codes,它的最大好處是什么?答:Java源程序經(jīng)過編譯器編譯,會被轉(zhuǎn)換成一種我們將它稱之為“字節(jié)碼(byte_codes)”的目標(biāo)程序?!白止?jié)碼”的最大特點便是可以跨平臺運行。4、機器語言程序、高級語言程序以與可表示成Java字節(jié)碼程序之間的區(qū)別是什么?答:機器語言是二進制編碼表示,可以用機器直接運行。高級語言是貼近自然語言的,必須編譯或解釋才能讓計算機運行,并且程序運行依賴該語言處理系統(tǒng)??杀硎境蒵ava字節(jié)碼的程序必須經(jīng)過編譯產(chǎn)生字節(jié)碼程序,java字節(jié)碼程序可以實現(xiàn)跨平臺運行。5、試簡述J2SE、J2ME與J2EE的區(qū)別。答:(1)JavaME——JavaMicroEdition,用于嵌入式Java消費電子平臺,其內(nèi)存資源受限。不論是無線通訊、手機、PDA等小型電子裝置都可采用其作為開發(fā)工具與應(yīng)用平臺。(2)JavaSE——JavaStandardEdition,是Java最通行的版本,是用于工作站、PC機的Java標(biāo)準(zhǔn)平臺。(3)JavaEE——JavaEnterpriseEdition,可擴展的企業(yè)應(yīng)用Java平臺,它提供了企業(yè)e-Business架構(gòu)與WebServices服務(wù),其開放的標(biāo)準(zhǔn)和優(yōu)越的跨平臺能力使其適于開發(fā)大規(guī)模的、分布式聯(lián)網(wǎng)應(yīng)用程序以與基于Web的應(yīng)用程序。6、練習(xí)使用瀏覽器查看JavaAPI文檔。7、SDK的編譯命令是什么?答:javac8、Java標(biāo)識符的命名有什么規(guī)定?答:一、用字母、下劃線“_”或“$”作為開頭字符,但數(shù)字不能作為變量的開頭字符;二、標(biāo)識符中間不能使用空格;三、不能使用Java的操作符,如“+”、“-”、“*”、“/”等;四、用戶自定義標(biāo)識符不能使用Java的關(guān)鍵字;五、嚴(yán)格區(qū)分大小寫,即:my_var和My_var將被認(rèn)為是兩個不同的標(biāo)識符。例:className、$member、_variable、var_num、varObj1合法1var、case、are&非法9、如何正確地定義變量?變量命名遵循標(biāo)識符的命名規(guī)則約定:變量名是以小寫字母開頭,而類名是以一個大寫字母開頭的如果變量名包含了多個單詞,而每個單詞要組合在一起,則在每個單詞的第一個字母大寫,比如isVisible。下劃線(_)可以處在變量的任何地方,但是一般地它只用在標(biāo)識符常量中分離單詞,因為標(biāo)識符常量的常量名都是用大寫字母的,利用下劃線可以看得更清楚。一般來說,變量名命名要見名知義,不宜太簡單,但也不宜過長。10、當(dāng)Java程序的表達(dá)式中有類型不符合的情況時,有哪些規(guī)則可以處理類型轉(zhuǎn)換?答:Java允許它的用戶有限度地進行數(shù)據(jù)類型轉(zhuǎn)換處理。轉(zhuǎn)換的方式可分為“自動類型轉(zhuǎn)換”和“強制類型轉(zhuǎn)換”兩種。1.自動類型轉(zhuǎn)換:整型、實型和字符型數(shù)據(jù)需要進行混合運算時,首先需要把不同類型的數(shù)據(jù)轉(zhuǎn)化為同一類型,然后才能進行運算。轉(zhuǎn)換時,系統(tǒng)將按照數(shù)據(jù)類型的表示范圍由小到大的轉(zhuǎn)換原則自動進行。數(shù)據(jù)類型的表示范圍由小到大的順序依次為:2.強制類型轉(zhuǎn)換:當(dāng)表示范圍大的數(shù)據(jù)類型要轉(zhuǎn)換成表示范圍小的數(shù)據(jù)類型時,需要用到強制類型轉(zhuǎn)換。第二章一、思考題:1、什么是結(jié)構(gòu)化程序設(shè)計?答:結(jié)構(gòu)化程序設(shè)計有三種基本的程序流程結(jié)構(gòu):順序、選擇、循環(huán)。2、使用while和do...while循環(huán)有什么不同?答:dowhile循環(huán)語句功能與while語句類似,但dowhile語句的循環(huán)終止判斷是在循環(huán)體之后執(zhí)行,即,它總是先執(zhí)行一次循環(huán)體,然后判斷條件表達(dá)式的值是否為真,若為真,則繼續(xù)執(zhí)行循環(huán)體;否則循環(huán)到此結(jié)束。與dowhile語句所不同的是,while語句如果開始時的判別表達(dá)式為假,則可能一次都不執(zhí)行循環(huán)體而直接結(jié)束循環(huán)。3、簡述break和continue語句的區(qū)別答:在Java中可以用break語句強行退出循環(huán),繼續(xù)執(zhí)行循環(huán)外的下一個語句如果break出現(xiàn)在嵌套循環(huán)中的內(nèi)層循環(huán),則break語句只會退出當(dāng)前的一層循環(huán),以for循環(huán)流程為例:在循環(huán)主體中有break語句時,當(dāng)程序執(zhí)行到break,即會退出循環(huán)主體,到循環(huán)外層繼續(xù)執(zhí)行。程序運行到continue語句時,就會停止循環(huán)體中剩余語句的執(zhí)行,而回到循環(huán)的開始處繼續(xù)執(zhí)行循環(huán)。4、一維數(shù)組與二維數(shù)組如何聲明、賦值與輸出?答:一維數(shù)組聲明語法格式如下:type數(shù)組名[]=newtype[個數(shù)n]對一維數(shù)組的賦值有如下方法:1.在聲明時直接賦值,語法格式為:type數(shù)組名[]={數(shù)值1,數(shù)值2,……,數(shù)值n};2、在賦值聲明的時候,不需要給出數(shù)組的長度,編譯器會視所給的數(shù)值個數(shù)來決定數(shù)組的長度,例如:intmm[]={2,4,6,8,10,12,14,16,18,20}若是對數(shù)組的元素進行有規(guī)律的賦值,則可以使用循環(huán)的方式進行要輸出使用數(shù)組里的元素,可以通過利用其下標(biāo)來達(dá)到目的,只有一個下標(biāo)值的數(shù)組就稱為一維數(shù)組。Java數(shù)組的下標(biāo)編號從0開始,如果聲明的數(shù)組元素個數(shù)為n,則數(shù)組元素下標(biāo)的變化只能是0~n-1。在Java中,因為數(shù)組元素可以聲明成任何類型,因此如果一維數(shù)組的元素還是一維數(shù)組的話,這種數(shù)組就被稱為二維數(shù)組。二維數(shù)組聲明語法格式如下:type數(shù)組名[][]=newtype[個數(shù)][個數(shù)];對于二維數(shù)組元素的賦值,同樣可以在聲明的時候進行:例如:intssa[][]={{20,25,26,22},{23,24,20,28}};二維數(shù)組賦值與輸出可以借助一維數(shù)組。二、填空題1、下面的程序運行后,其輸出結(jié)果是_#*#*#_publicclassYuedu1{publicstaticvoidmain(String[]args){inti;for(i=1;i<6;i++){if(i%2==1){System.out.print("#");continue;}System.out.print("*");}System.out.println();}}2、下面的程序經(jīng)運行后,其輸出結(jié)果是(x1=10x2=6)publicclassYuedu3{publicstaticvoidmain(String[]args){intx,y;System.out.print("x1="+add(4,6));System.out.print("x2="+add(3,add(1,2)));}staticintadd(intx,inty){returnx+y;}}3、下面的程序經(jīng)運行后,其輸出結(jié)果是_72___publicclassYuedu4{publicstaticvoidmain(String[]args){System.out.print(fun(4));}staticintfun(intn){intt;if((n==0)||(n==1))t=3;elset=n*fun(n-1);returnt;}}4、下面的程序經(jīng)運行后,其輸出結(jié)果是_y=1x=0_publicclassYuedu1{publicstaticvoidmain(String[]args){intx,y;x=y=0;do{y++;x*=x;}while((x>0)&&(y>5));System.out.println("y="+y+"x="+x);}}第三章一、思考題1、類和對象之間的關(guān)系答:對象是客觀世界中的某個具體事物。類是具有共同特性和行為的事物的抽象,是一種特殊數(shù)據(jù)類型。在類中包含了數(shù)據(jù)和與數(shù)據(jù)有關(guān)的操作(方法)。對象是類的實例。2、舉例說明類(靜態(tài))成員的特點答:1.特點一:靜態(tài)變量的值是共享。比如說A類中有個靜態(tài)變量V_A,A類創(chuàng)建了兩個實例a,b。如果給實例a的變量V_A賦值,如a.V_A=1。那么這時候查看實例b.V_A變量的值也為1,也就是說A對象實例化的兩個類共享同一個變量值。2.特點二:不需要對象實例化就可以使用。比如A類中的靜態(tài)變量V_A可以用A.V_A的形式使用。3、Java中的包和Windows的文件夾有什么關(guān)系?答:目錄層次結(jié)構(gòu)非常類似,包對應(yīng)著Windows文件系統(tǒng)的目錄層次結(jié)構(gòu)。4、類的成員的訪問權(quán)限和包的關(guān)系答:類的成員的權(quán)限用權(quán)限關(guān)鍵字設(shè)置,類的成員的權(quán)限和包的關(guān)系如下:權(quán)限:Public、protected、默認(rèn)的同一包允許訪問。權(quán)限:private同一包也不允許訪問。權(quán)限:Public、protected的不同包子類允許訪問權(quán)限:默認(rèn)、private的不同包子類不允許訪問5、方法的重載和覆蓋的區(qū)別答:重載與覆蓋的區(qū)別1、方法的覆蓋是子類和父類之間的關(guān)系,是垂直關(guān)系;方法的重載是同一個類中方法之間的關(guān)系,是水平關(guān)系。2、覆蓋只能由一個方法,或只能由一對方法產(chǎn)生關(guān)系;方法的重載是多個方法之間的關(guān)系。3、覆蓋要求參數(shù)列表相同;重載要求參數(shù)列表不同。4、覆蓋關(guān)系中,調(diào)用那個方法體,是根據(jù)對象的類型(對象對應(yīng)存儲空間類型)來決定;重載關(guān)系,是根據(jù)調(diào)用時的實參表與形參表來選擇方法體的。二、填空題1、在聲明一個類變量時,前面必須要加上___static____修飾符2、__import___語句可以導(dǎo)入Java的實用包中的所有類3、方法的覆蓋是___后期___綁定,方法的重載是___前期____綁定4、寫出一個表達(dá)式:輸出角度30°的余弦值__Math.cos(30*3.14/180)__5、為類Class1創(chuàng)建一個靜態(tài)整型變量s_data:_staticints_data_。6、寫出抽象類IamAbstract的類頭定義語句:_publicabstraactclassIamAbstract_。7、定義一個抽象方法abstractMethod,沒有形式參數(shù),返回值為布爾型變量:_publicabstractbooleanabstractMethod()_。8、寫出定義最終類IamFinal的類頭定義語句:_finalclassIamFinal_。9、定義浮點常量PI,其取值為3.1415926:_floatPI=3.1415926f_。三、選擇題1、有關(guān)類的說法正確的是()A.類具有封裝性,所以類的數(shù)據(jù)是不能被訪問的B.類具有封裝性,但可以通過類的公共接口訪問類中的數(shù)據(jù)C.聲明一個類時,必須用public修飾符D.每個類中,必須有main方法,否則程序無法運行2、將類的成員的訪問權(quán)限設(shè)置為默認(rèn)的,則該成員能被()A.同一包中的類訪問B.其他包中的類訪問C.所有的類訪問B.所有的類的子類訪問3、下面是正確的方法重載的是()A.intfun(inta,floatb){}floatfun(inta,floatb){}B.intfun(inta,floatb){}floatfun(intx,floaty){}C.floatfun(floata){}floatfun(floata,floatb){}D.floatfun1(inta,floatb){}floatfun2(inta,floatb){}4、下面關(guān)于繼承的說法正確的是()A.超類的對象就是子類的對象B.一個類可以有幾個超類C.一個類只能有一個子類D.一個類只能有一個超類5、下面關(guān)于多態(tài)性的說法正確的是()A.一個類中,不能有同名的方法B.子類中不能有和父類中同名的方法C.子類中可以有和父類中同名且參數(shù)相同的方法D.多態(tài)性就是方法的名字可以一樣,但返回的類型必須不一樣第四章一、思考題1、Applet與Application的區(qū)別答:Application是一種可獨立運行的程序,Applet是一種存儲于Internet/Intranet服務(wù)器(Server)上的Java程序,可以被多個客戶機下載并在客戶端由瀏覽器提供的Java虛擬機JVM運行。Applet必須通過<applet>標(biāo)簽嵌入HTML程序在瀏覽器中運行。2、小應(yīng)用程序在其生命周期中,init()、start()、stop()、destroy()、paint()方法執(zhí)行時機?答:init()初始化,是小應(yīng)用程序的入口點。執(zhí)行時機是在第一次瀏覽web頁面時執(zhí)行一次。Stat()啟動對應(yīng)的方法,執(zhí)行時機是瀏覽器載入程序時執(zhí)行init()之后、離開上述web頁面之后重新回來、使用瀏覽器的縮放按鈕改變窗口大小。Stop()執(zhí)行時機是離開小應(yīng)用程序所在web頁面、刷新該頁面、關(guān)閉該頁面、圖標(biāo)化瀏覽器。Destroy()執(zhí)行時機關(guān)閉web頁面時執(zhí)行一次。3、事件處理的基本編程方法?答:用于監(jiān)聽xxEvent事件的編程的基本方法如下:第一步:程序開始加上importjava.awt.event.*語句。對java.awt中的組件實現(xiàn)事件處理必須都引入java.awt.event包。第二步:實現(xiàn)事件監(jiān)聽者所對應(yīng)的接口,即添加:implementsxxListener(事件所對應(yīng)的接口)。第三步:設(shè)置事件監(jiān)聽者:事件源.addxxListener(事件監(jiān)聽者)。第四步:編程實現(xiàn)對應(yīng)事件接口中的全部方法。4、Swing與awt的異同答:awt與swing都是Java用于實現(xiàn)圖形用戶界面的類庫,swing是JFC的一部分,它在技術(shù)上比awt邁進了一步;在外觀效果上也比awt有進步。二、填空題:1、小應(yīng)用程序的公共類必須是_java.applet.Applet的子類2、小應(yīng)用程序生命期中__init()_方法只執(zhí)行一次,__start()__方法可被反復(fù)執(zhí)行多次3、將復(fù)選框用_java.awt.CheckboxGroup_進行分組即得到單選鈕4、Java.awt.Font類用于設(shè)置_文本字體__5、繪制直線、圓、弧、多邊形等繪圖方法在_Java.awt.Graphics_包中第五章一、思考題:1、什么時候發(fā)生異常?答:在程序運行過程中,任何中斷正常程序流程的情況都是錯誤或異常。例如,發(fā)生下列情況時,會出現(xiàn)異常:想打開的文件不存在;網(wǎng)絡(luò)連接中斷;操作數(shù)超出預(yù)定范圍,例如,除數(shù)為0;數(shù)組元素下標(biāo)越界。2、要被監(jiān)視異常的代碼必須放在哪個語句塊中?答:Java中異常處理的一般形式是:try{//被監(jiān)視的代碼塊}catch(異常類1對象名1){//異常類1的異常處理代碼塊}3、catch起什么作用?答:catch實現(xiàn)異常類型的捕捉。4、異常未被捕獲會發(fā)生什么結(jié)果答:若有匹配則執(zhí)行相應(yīng)的處理代碼,然后繼續(xù)執(zhí)行本try塊之外的其他程序。否則這個沒有被程序捕獲的異常將由缺省處理程序處理,缺省處理程序?qū)@示異常的字符串、異常發(fā)生位置等信息,終止整個程序的執(zhí)行并退出。5、throws起什么作用?答:編程人員可以用throw語句自行拋出異常,throw語句的語法如下:throwThrowable類或其子類的對象。throws語句用于聲明一個方法可能引發(fā)的所有異常,這些異常是要求調(diào)用該方法的程序處理的。其語法為:返回類型方法名(參數(shù)表)throws異常類型表{//方法體}6、在嵌

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論