《第1章程式语言与Java的基础39887.docx》由会员分享,可在线阅读,更多相关《第1章程式语言与Java的基础39887.docx(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1章:程式語言與Java的基礎1. 請說說明什麼是是程式與軟軟體?程式式語言的種種類?低階階和高階程程式語言的的差異?2. 請比比較編譯和和直譯程式式語言的差差異?並各各舉出2種種程式語言言?3. 什麼麼是Javva?其特點為為何?為什什麼Javva是一種種跨平台的的程式語言言,請說明明其意義?Javaa平台是由由_和_元元件組成。4. 請簡簡單說明JJVM是什什麼,並且使用用圖例說明明Javaa程式的執執行過程?5. 請說說明Javva語言的的開發環境境?並且分分別列出命命令列和GGel整合合開發工具具建立Jaava應用用程式的步步驟?6. Jaava原始始程式碼的的副檔名:_,編譯成類類
2、別檔的副副檔名:_。7. 請完完成下列JJava程程式輸出大家好!生日快樂樂字串,如如下所示:classs Tesst puublicc staatic voidd maiin(Sttringg aargs) _ 8. 請問問習題7.的Javva程式儲儲存的全名名為:_,如果輸出出字串改為為兩行大大家好!和生日日快樂,請請再次完成成Javaa程式。9. 繼續續習題8,在命令提提示字元視視窗執行編編譯的指令令:_,編譯成的的Byteecodee檔案名稱稱:_,執行Jaava程式式的指令:_。10. 在安裝好好Gel整整合開發工工具後,使使用Gell建立Jaava程式式輸出下列列”*”字元顯示示的
3、圖形,如如下所示:* * * * *第2章:變變數與運算算子1. 簡單單說明Jaava的命命名原則?2. 說明明什麼是程程式中的變變數?Jaava程式式如何宣告告變數?3. 請問問下列哪些些是Javva的保留留字,如下下所示:applee、flooat、77up、ggranddTotaal和boollean4. 請指指出下列哪哪些是Jaava合法法的變數名名稱,如下下所示:2bad、zzero、lastValue、year2006、TWO-DOLLARS、team、2Int、int、I、j5. 請寫寫出Javva的資料料型態分為為哪兩種?8種基本本資料型態態是什麼?6. 請說說明什麼是是運算式
4、?下列Jaava運算算子的功能能,如下所所示: - & != 7. 請指指出下列哪哪些運算式式是不正確確的,如果果正確請計計算其值,如如下所示: 5 + 77 (5 * 6)/2 (-12 + (112 + 8)/2 ) * 4 -20 + (144 + 6)/2 ) * 3 (30 - 15) / 3 34 - 14) / (200 - 5 ) ( (344 - 114) / (13 + 7 ) ) ( 1/22 + 33.5) * 2.0 (2 - 6) / 2 + 108. 請建建立Javva程式計計算下列運運算式的值值,如下所所示: 2X2 -4X + 1,X = 3.0、4.0和2/
5、3 a2 + b,a = 2.0、4.0和2/3,b = 100.0、55.0和112.0 3X2 -8X + 4,XX = 22.0、44.0和22/39. 圓周周長的公式式是2*PPI*r,PPI是圓周周率3.11415,rr是半徑110, 220, 550, 請請設計Jaava程式式使用常數數定義圓周周率,然後後計算各半半徑的圓周周長。10. 請請建立Jaava程式式將下列的的八和十六六進位值轉轉換成十進進位值顯示示,如下表表所示:0277、00xcc、00xab、00333、00555、00xff11. 現現在有2550個蛋,一一打是122個,請使使用Javva程式計計算2500個蛋是
6、幾幾打,還剩剩下幾個蛋蛋。12. 某某人在銀行行存入1550萬,利利率是4%,如果每年年的利息都都繼續存入入銀行,請請使用Jaava程式式計算在115年後,本本金在利息息一共有多多少錢。第3章:流流程控制結結構1. 請說說明什麼是是結構化程程式設計?其主要觀觀念有哪33項?流程程控制的種種類有幾種種?2. 單一一if/elsee指令敘述述共有_種種選擇。寫寫出下列關關係與條件件運算式值值是truue或faalse,如下所示示:(1) 22 + 3 = 5 (2) 336 = 3 * 3 (4) 22 + 1 = (3 + 9) / 4 (55) 122 = 2 + 3 * 2 (6) 2 *
7、2 + 5 != (22 + 1) * 3. 請寫寫出下列條條件敘述程程式片斷的的輸出結果果? (1) iint ssum = 8 + 1 + 2 + 7; iff ( ssum = 10 ) Sysstem.out.prinntln(危險: ); Sysstem.out.prinntln(水太深深. ); 4. 請說說明whiile和do/wwhilee迴圈的差差異?並舉舉例說明是是否會影響響程式的執執行結果5. 請寫寫出下列mmain()方法的的輸出結果果,如下所所示:(1) ppubliic sttaticc voiid maain(SStrinng argss) intt n = 1;
8、 whiile (n = 64) n = 2*n; Systtem.oout.pprinttln(nn); (2) ppubliic sttaticc voiid maain(SStrinng argss) intt tottal = 0; forr (i = 1; i =2,請請設計sttaticc voiid fiibonaacci()方法顯顯示費式數數列,參數數是顯示數數字的個數數。10. 請請寫出下列列遞迴方法法prinntMonney(55)的執行行結果,如下所示示:statiic vooid pprinttMoneey(innt leevel) iff (leevel = 00)
9、Systtem.oout.pprintt($); ellse Sysstem.out.prinnt(); 11. 在在整數A與與B中,假假設:0=A且0B,mod()方法的的規則如下下:. mod(AA, B) = A,if A = B請建立Jaava的mmod()遞迴方法法計算mood(2, 5)和和mod(17, 5)的值 12. 請請建立遞迴迴方法nuum(),計算算num(5)、nnum(110)的值值,其定義義如下所示示:num(11) = 1,iff X = 1num(XX) = num(X-1) + 2XX - 1,if X 113. 請請試著自行行以盤子數數為1、2、3時,分分
10、別一一繪繪出河內塔塔問題的解解答步驟,在3根木木樁各擁有有的盤子數數,以便歸歸納出解決決問題的33個步驟?第5章:類類別與物件件1. 請說說明物件導導向程式語語言的3種種特性?什什麼是物件件基礎程式式語言?UUML是什什麼?2. 請說說明什麼是是物件?物物件擁有哪哪3種特性性?並且舉舉例說明物物件與類別別的關係?3. Jaava是使使用_運算子來來建立物件件,如果一一個類別型型態的物件件變數參考考的不是物物件,我們們稱為_(Nulll Refferennce),在Javaa就是使用用指定敘述述指定成_。4. 請舉舉例說明pprivaate和publlic兩種種修飾子的的用途和差差異?什麼麼是工
11、具具方法(Utility Methods)?5. 請簡簡單說明什什麼是建構構子?其目目的和用途途?6. 請說說明實例變變數/方法法和類別變變數/方法法的差異?7. 請在在Datee類別完成成setDDate()成員方方法,如下下所示:publiic boooleaan seetDatte(innt daay, iint mmonthh, innt yeear) iif ( valiidDatte(daay, mmonthh, yeear) ) _.day = daay; _.montth = montth; _.yearr = yyear; rreturrn trrue; eelse retu
12、urn ffalsee;8. 請修修改第5-2-3節節的程式範範例,將valiidDatte()方方法改為類類別方法。9. 請使使用Javva語言寫寫出Boxx類別的宣宣告,這是是一個盒子子物件,可可以計算盒盒子體積與與面積,並並且繪出BBox類別別的UMLL類別圖,如如下所示: 成員變數:widtth、heigght和llengtth儲存寬寬、高和長長。 建構子:BBox (doubble wwidthh, dooublee heiight, douuble lenggth)。 成員方法:doubble vvolumme()計計算體積、ddoublle arrea()計算面積積。 10. 請
13、請建立Tiime類別別宣告和繪繪出UMLL類別圖,TTime類類別可以建建立儲存時時間資料的的物件,其其描述如下下所示: 成員變數:hourr、minnute和和secoond儲存存小時、分分和秒。 建構子:TTime(int hourr, innt miinutee, innt seecondd)。 成員方法:設定seetXXXX()和取取出intt gettXXX()時間資資料的方法法、priintTiime()方法顯示示時間資料料、vallidatteTimme()方方法可以檢檢查時間資資料。11. 請請修改第CCh5_44.javva程式,使使用習題110的Tiime類別別新增客戶戶的
14、出生時時間。12. 在在第5-55節使用類類別變數儲儲存學生計計數,請建建立Couunterr計數類別別宣告,擁擁有成員變變數vallue,22個方法iincreementt()和decrremennt()分分別將計數數加一和減減一,geetCouunterr()方法法取得目前前的計數,修修改Ch55_5.jjava使使用Couunterr類別記錄錄學生人數數。13. 請請建立Boooks圖圖書資料類類別,成員變數數codee、tittle、aauthoor和pricce成員變變數儲存書書號、書名名、作者和和書價,ccode、ttitlee和authhor是Striing物件件,除了設設定、取
15、出出和列印圖圖書資料的的方法外,再再加上圖書書本數和總總價的類別別變數,計計算圖書的的平均價格格。14. 請請建立名片片資料的CCardss類別,擁擁有namme、agge、phhone和和emaiil成員變變數儲存姓姓名、年齡齡、電話和和電子郵件件資料,pphonee變數是參參考另一個個類別PhhoneLList的的實例,PPhoneeListt類別擁有有成員變數數homeephonne、offficeehonee和celllphonne儲存住住家、公司和手手機電話,最最後建立pprinttCardd()方法法顯示名片片資料。15. 請請依照下列列UML類類別圖寫出出Javaa語言的類類別宣
16、告,如如下圖所示示:第6章:繼繼承、抽象象類別和多多形1. 請使使用圖例說說明什麼是是物件導向向的繼承觀觀念?Jaava不支支援_繼承。2. 請說說明什麼是是覆寫和隱隱藏方法,請請使用表格格列出其差差異?3. 請簡簡述常數和和抽象類別別的目的?常數類別別是使用_關鍵字宣宣告,抽象象類別是使使用_關關鍵字宣告告。4. 現有有3個類別別Compputerr、ApppleCoomputter和AAcerCCompuuter,請繪出這3個類別的類別架構?哪一個類別可以宣告成抽象類別?5. 請舉舉一個實例例說明Jaava語言言物件導向向的多形觀觀念?6. 請寫寫出下列類類別繼承架架構中的父父類別、子子類
17、別和兄兄弟類別,如如下所示: 類別甲的子子類別_。 類別丙的兄兄弟類別_。 類別戍的父父類別_。7. 請完完成Javva的Teest與MMidTeerm的類類別宣告,如如下所示:classs Tesst puublicc intt numm; puublicc Strring namee; puublicc Tesst(innt nuum, SStrinng naame) puublicc voiid prrintTTest() classs MiddTermm exttendss Tesst prrivatte innt nuumOfSStudeents; puublicc MiddTerm
18、m(intt no, Strring namee, innt nuumOfSStudeents) _(no, namme); _.nnumOffStuddentss = nnumOffStuddentss; puublicc voiid prrintMMidTeerm() _.prinntTesst(); Sysstem.out.prinntln(_.namee); 8. Caard抽象象類別有繼繼承的Biirthdday、VValenntinee和Holiiday子子類別,請請寫出下列列程式碼呼呼叫greeetinng()方方法實際是是哪一個子子類別的物物件,如下下所示:(1) CCard
19、crd = neew BiirthDDay(江小魚, 36); crrd.grreetiing();(2) CCard crd = neew Vaaentiine(“小龍女”, 166); crrd.grreetiing();(3) CCard crd = neew Hoolidaay(“陳會安”); crrd.grreetiing();9. 繼續續習題8,請完成下下列Javva程式碼碼,如下所所示:_ c;c = nnew VValenntinee(陳小小安, 14) ;c.greeetinng();c = nnew HHolidday(江大魚) ; c.greeetinng();10. 請
20、請建立Biicyclle單車的的抽象類別別,內含色色彩、車型型和車價等等資料,然然後繼承抽抽象類別建建立RaccingBBike(競競速單車),新增幾段變數的成員變數和顯示單車資訊的方法,並且繪出UML類別圖。11. 在在程式範例例Ch6_3.jaava的抽抽象類別SShapee新增計算算周長的pperimmeterr()方法法。12. 請請在第6-3節的程程式範例CCh6_33.javva新增繼繼承抽象類類別Shaape的Polyygon多多角形,並並且新增aarea()方法。13. 請請建立Veehiclle抽象類類別,然後後建立Caars(轎轎車)、TTruckks(卡車車)子類別別,多
21、形的的showw()方法法顯示車輛輛資料。14. 請請建立Teest抽象象類別,然然後建立MMidTeerm(期期中考)、Finaal(期末末考)和QQuiz(小小考)子類類別,多形形的priint()方法可以以顯示各次次考試的最最商和平均均成績。第7章:巢巢狀類別、多多重繼承和和套件1. 請使使用圖例來來說明Jaava巢狀狀類別?2. 如果果Javaa巢狀類別別的外層類類別是Sttudennts,內層類別別是Exaams,編編譯成的類類別檔案.classs:_和_。3. 請說說明多重繼繼承的觀念念和Javva介面?介面是由由_關鍵字進進行宣告,其其組成是什什麼?4. 請問問介面是否否包含方法
22、法的程式碼碼區塊?介介面是否可可以繼承?類別是否否可以實作作多個介面面?下列介介面宣告是是否正確?interrfacee Taxx ddoublle TaaxRatte = 0.066; dooublee callTax(); 5. 如果果IPriint介面面繼承自IIShoww,請寫出其其宣告語法法?如果類類別Finnal繼承承自Tesst類別且且實作ShhowInnterfface,請寫出其其宣告語法法?6. 請說說明什麼是是Javaa套件?什什麼是Jaava AAPI。7. 請將將第6-33節的程式式範例Chh6_3.javaa改成Ch66_3的套套件。8. 請建建立Javva巢狀類類別
23、內層和和外層的建建構子,內內層建構子子指定vaalue值值,nexxt為nulll,外層建建構子在建建立好LiistNoode物件件後,將ffrontt參考到此此物件,如如下所示:classs LinnkedLList LiistNoode ffrontt; LiistNoode intt vallue; ListtNodee nexxt; publlic LListNNode(int valuue) puublicc LinnkedLList(int valuue) 9. 在CCh7_33_4.jjava取取消最後22列程式碼碼的註解測測試編譯錯錯誤,如果果將Poiint類別別的x和y改為p
24、ubblic是是否仍會產產生錯誤,為為什麼?10. 如如果在習題題9改為pprivaate是否否會產生錯錯誤,為什什麼?11. 如如果在習題題9刪除PPointt類別成員員變數x和y的prottecteed修飾子子,然後重重新編譯PPointt.javva和Ch7_3_4.javaa是否會產產生錯誤,為為什麼?12. 請請使用表格格說明Jaava存取取修飾子?在同一個個套件可以以存取的修修飾子有哪哪些?在同同一個類別別可以存取取的修飾子子有哪些?第8章:字字元、字串串、數值類類別與陣列列1. 請問問Striing物件件可以說是是一種唯讀讀或唯寫字字串?一共共可以新增增多少個字字元到Sttrin
25、ggBufffer物件件?當建立立StriingBuufferr 物件ssb1和ssb2後,請寫出比比較這2個個物件的JJava程程式碼?2. 請說說明什麼是是陣列(AArrayy)?Jaava二維維陣列的建建立有哪22種方法?3. 請寫寫出宣告ffloatt浮點數一一維陣列mmyArrray的語語法,元素素有10個個?然後寫寫出下列陣陣列宣告各各元素的索索引值序列列值,如下下所示:int arrray = 2, 44, 6, 8 4. 請寫寫出下列JJava程程式碼片斷斷的執行結結果,如下下所示:(1) iint arrr = 1, 3, 5, 7 ; Syystemm.outt.priin
26、tlnn(arrr0 + arrr2);(2) iint arrr = 2, 44, 6, 8 ; arrr0 = 13; arrr3 = arrr1; Syystemm.outt.priintlnn(arrr0 + arrr2 + aarr3);5. 現在在有字串SStrinng物件,請請寫出下列列各方法的的輸出結果果,如下所所示:Strinng sttr = Javva2程式式設計範例例教本2ee-陳會安安; str.llengtth()。 str.ccharAAt(100)。 str.ssubsttringg(11)。 str.ssubsttringg(5, 9)。6. 請說說明下列JJ
27、ava方方法和程式式碼片斷的的用途,如如下所示:(1) SStrinng aMMethood(Sttringg sstr) if (strr = nulll) reeturnn nulll; Strring resuult = ; forr (innt i = 0; i strr.lenngth; i+) resuult = ressult + sttri; retturn resuult; (2) ddoublle teemps = neew dooublee3655; foor ( i=0; i temmps.llengtth; ii+) temmpsii = new doubble224
28、;7. 請設設計字串處處理方法(不不能使用SStrinng和StriingBuufferr物件相同同功能的方方法),如如下所示: int sstrLeen(Sttringg):取得得字串長度度。 Strinng sttrInssert(Striing1, Strring22, innt):插插入字串,將將Striing2插插入Strring11的位置innt。 Strinng sttrRepplacee(Strring11, Sttringg2, iint):取代字串串,將Sttringg1位置intt開始取代代成Strring22。8. 請設設計Javva程式從從命令列輸輸入12小小時制的時
29、時間字串,在在轉換後,輸輸出成244小時制的的時間資料料。9. 請分分別建立ggetMaax()和和getMMin()方法能夠夠在intt陣列中找找出最大值值和最小值值,並且設設計測試的的Javaa程式,使使用亂數產產生陣列值值,其範圍圍為10005000。10. 請請修改Chh8_6_1.jaava程式式碼,將ttips陣陣列的初值值改為使用用命令列參參數傳入,陣陣列尺寸視視參數的個個數而定。11. 請請設計Jaava程式式擁有3 X 3的二二維陣列,陣陣列值是使使用亂數產產生,其範範圍是5001000,然後計算算每一列的的總和和平平均,並且且計算2個個對角線陣陣列元素的的總和。12. 請請
30、建立Jaava程式式擁有三維維的intt整數陣列列,陣列值值是使用亂亂數產生,然然後使用迴迴圈將陣列列值都顯示示出來。第9章:JJava Appllet與事事件處理1. 請說說明Javva Appplett執行環境境?為什麼麼Javaa Appplet沒沒有maiin()方方法?Jaava AAppleet程式架架構是繼承承_類別。2. 現在在有一個MMyAppplet.classs的Jaava AAppleet,其尺寸為為200 X 2000,請寫出HHTML文文件所需的的HTMLL標籤,以以便插入此此Javaa Appplet?3. 在JJava Appllet匯入入_套件是為為了取得AA
31、ppleet類別,匯匯入_套套件是為了了取得繪圖圖元件AWWT。4. 請說說明下列程程式碼的目目的,如下下所示:inc = Inttegerr.parrseInnt(geetParrametter(INC);offseet = Inteeger.parsseIntt(gettParaameteer(OOFFSEET);5. 請使使用圖例說說明AWTT元件的事事件處理架架構?什麼麼是事件物物件(Evvent Objeects)?6. 請說說明MouuseEvvent類類別和事件件傾聽者物物件MouuseLiistenner的關關係,並且且完成下列列MousseEveent事件件處理程式式架構,如
32、如下所示:imporrt jaava.aappleet.Appplett;imporrt jaava.aawt.GGraphhics;imporrt _publiic cllass MyAppplett exttendss Appplet impllemennts _ puublicc voiid paaint(Grapphicss g) puublicc voiid innit() _; puublicc voiid moouseCClickked(MMouseeEvennt evvt) puublicc voiid moouseEEnterred(MMouseeEvennt evvt) p
33、uublicc voiid moouseEExiteed(MoouseEEventt evtt) puublicc voiid moousePPresssed(MMouseeEvennt evvt) puublicc voiid moouseRReleaased(MousseEveent eevt) 7. 請設設計Javva Appplett程式顯示示使用HTTML標籤籤傳遞的字字串內容,例例如:讀者者姓名,而而且在文字字外有一個個藍色的方方框。8. Grraphiics類別別的draawLinne()方方法可以繪繪出線條,44個參數分分別為2個個端點的(x, y)座標,請請建立Jaava A
34、Appleet程式測測試下列二二層迴圈繪繪出的圖形形,如下所所示:publiic vooid ppaintt(Graaphiccs g) foor (iint ii=10; i = 2000; ii = ii+50) for (intt j = 10; j = 2000; jj = jj+50) gg.draawLinne(i,10,jj,60);9. 請建建立Javva Appplett程式使用用drawwRectt()方法法繪出重疊疊的3個正正方形,起起點是(110, 110),間隔5,長寬各為為100,色彩分別別為藍、綠綠和紅,各各正方形的的兩個對角角線使用ddrawLLine()方法繪
35、繪成大X形形。10. 請請建立Jaava AAppleet繪出一一個很大的的”*”符號,這這是由3條條線交叉組組成的圖形形?並且試試著使用繪繪圖方法繪繪出很大的的”%”符號?11. 請請建立Jaava AAppleet繪出110個橢圓圓形,橢圓圓形是使用用亂數取得得左上角座座標和長寬寬?12. 請請建立Jaava Appllet當按按下鍵盤按按鍵時,顯顯示整數的的按鍵值,請請使用下列列方法取得得按鍵值,如如下所示:int kkey = evtt.gettKeyCCode();13. 請請編譯和測測試書附光光碟Ch009/Chh9_5_5.jaava和Ch9_5_5.htm的的Javaa App
36、plet程程式範例,在在輸入欄位位內容後,檢檢視其執行行結果?14. 請請建立Jaava AAppleet使用AAWT元件件建立輸入入使用者資資料的註冊冊表單,欄欄位請自訂訂,在輸入入使用者資資料後,顯顯示使用者者輸入的資資料。第10章:Swinng套件的的容器元件件與版面配配置1. 請說說明Javva的Swwing套套件是什麼麼?並且使使用圖例說說明Swiing應用用程式的基基本架構?2. 請完完成下列TTestFFramee類別Swwing應應用程式的的程式碼,如如下所示:imporrt jaavax.swinng.*;imporrt jaava.aawt.*;imporrt jaava.aawt.eeventt.*;publiic cllass TesttFramme exxtendds _ puublicc staatic voidd maiin(Sttringg aargs) _ app = neew _(); app.addWWindoowLissteneer(neew WiindowwAdappter() ppubliic vooid wwindoowCloosingg(WinndowEEventt evtt) Systtem.eex