黑龍江大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)Java實(shí)驗(yàn)講義_第1頁(yè)
黑龍江大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)Java實(shí)驗(yàn)講義_第2頁(yè)
黑龍江大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)Java實(shí)驗(yàn)講義_第3頁(yè)
黑龍江大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)Java實(shí)驗(yàn)講義_第4頁(yè)
黑龍江大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)Java實(shí)驗(yàn)講義_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.Java語(yǔ)言程序設(shè)計(jì) 實(shí)驗(yàn)講義黑龍江大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院2010年3月.;前 言Java語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)在面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)上,闡述Java語(yǔ)言的編程基礎(chǔ)及其設(shè)計(jì)方法。內(nèi)容包括:Java程序的輸入輸出、表達(dá)式與運(yùn)算符、結(jié)構(gòu)化程序設(shè)計(jì)、類、屬性和方法、繼承和重載、包和接口、Applet與圖形用戶界面以及相關(guān)Java網(wǎng)絡(luò)設(shè)計(jì)等知識(shí),本課程注重實(shí)際應(yīng)用操作,采用實(shí)例講解為學(xué)生進(jìn)一步學(xué)習(xí)J2EE和J2ME打下技術(shù)基礎(chǔ)。結(jié)合對(duì)實(shí)例的開發(fā),以學(xué)生為主體,充分發(fā)揮學(xué)生的主觀能動(dòng)性,引導(dǎo)學(xué)生自學(xué)教材部分內(nèi)容,并鍛煉學(xué)生自行開發(fā)各種小型程序模塊;培養(yǎng)和鍛煉學(xué)生利用Java語(yǔ)言進(jìn)行網(wǎng)絡(luò)編程的能力。Java

2、語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)是以程序設(shè)計(jì)操作為主的技能課程,它由若干個(gè)獨(dú)立的實(shí)驗(yàn)項(xiàng)目組成,與相應(yīng)的理論課Java語(yǔ)言程序設(shè)計(jì)配套,本課程的目標(biāo)是:(1) 加深學(xué)生對(duì)課堂講授內(nèi)容的理解,從計(jì)算機(jī)語(yǔ)言的基本概念、面向?qū)ο蟪绦蛟O(shè)計(jì)的基本方法、語(yǔ)法規(guī)則等方面加深理解,打好面向?qū)ο蟪绦蛟O(shè)計(jì)、軟件開發(fā)的良好基礎(chǔ)。(2) 在上機(jī)實(shí)驗(yàn)中,提高學(xué)生對(duì)Java 語(yǔ)言各部分內(nèi)容的綜合使用能力,逐步掌握J(rèn)ava語(yǔ)言程序設(shè)計(jì)的規(guī)律與技巧。(3) 在對(duì)Java 程序的調(diào)試過程中,提高學(xué)生分析程序中出現(xiàn)的錯(cuò)誤和排除這些錯(cuò)誤的能力。(4) 通過上機(jī)實(shí)踐,加深學(xué)生對(duì)計(jì)算機(jī)軟件運(yùn)行環(huán)境、Java 集成開發(fā)環(huán)境的了解。實(shí)驗(yàn)要求Java語(yǔ)言程序

3、設(shè)計(jì)實(shí)驗(yàn)是與Java語(yǔ)言程序設(shè)計(jì)理論課配套的實(shí)驗(yàn)課程。通過本課程的實(shí)驗(yàn)訓(xùn)練,要求學(xué)生能運(yùn)用所學(xué)理論知識(shí)進(jìn)行基本的面向?qū)ο蟪绦蛟O(shè)計(jì),培養(yǎng)其規(guī)范的編程習(xí)慣,掌握基本的操作技能和編程思想。同時(shí)要注意培養(yǎng)學(xué)生實(shí)事求是的科學(xué)態(tài)度,相互協(xié)作的團(tuán)隊(duì)精神,為學(xué)習(xí)后續(xù)課程,參加實(shí)際工作和開展科學(xué)研究打下良好的基礎(chǔ)。具體要求是:(1) 本課程以實(shí)驗(yàn)為主,配合理論課的教學(xué)。任課教師需向?qū)W生講清課程的性質(zhì),任務(wù),要求,課程安排和進(jìn)度,平時(shí)考核內(nèi)容,期末考試辦法,實(shí)驗(yàn)守則及實(shí)驗(yàn)室安全制度等。(2) 本課程主要設(shè)置下列類型的實(shí)驗(yàn):(1)基本操作訓(xùn)練,(2)驗(yàn)證性及設(shè)計(jì)性實(shí)驗(yàn);整個(gè)實(shí)驗(yàn)過程包括課前準(zhǔn)備,實(shí)驗(yàn)操作,實(shí)驗(yàn)報(bào)告等

4、環(huán)節(jié)。學(xué)生在實(shí)驗(yàn)前必須進(jìn)行準(zhǔn)備。(3) 根據(jù)實(shí)驗(yàn)內(nèi)容不同,基本操作性的實(shí)驗(yàn)1 人1 組,設(shè)計(jì)性實(shí)驗(yàn)可根據(jù)情況多人一組,每個(gè)實(shí)驗(yàn)要求在規(guī)定時(shí)間內(nèi)由學(xué)生獨(dú)立完成。(4) 實(shí)驗(yàn)過程中,老師應(yīng)在實(shí)驗(yàn)室進(jìn)行巡視,及時(shí)回答問題,糾正學(xué)生的錯(cuò)誤操作,檢查學(xué)生的實(shí)驗(yàn)報(bào)告。(5) 任課教師要認(rèn)真?zhèn)湔n,提前預(yù)做實(shí)驗(yàn),上好每一堂課。實(shí)驗(yàn)前清點(diǎn)學(xué)生人數(shù)。實(shí)驗(yàn)的驗(yàn)收將分為兩個(gè)部分。第一部分是上機(jī)操作,包括設(shè)計(jì)結(jié)果的源程序的驗(yàn)收與檢查。第二部分是提交書面的實(shí)驗(yàn)報(bào)告。實(shí)驗(yàn)1 Java 程序的編輯、編譯、運(yùn)行環(huán)境(2學(xué)時(shí))1.實(shí)驗(yàn)內(nèi)容(1) 編寫并調(diào)試運(yùn)行HelloWorld應(yīng)用程序。(2) 編寫并調(diào)試運(yùn)行HelloWorl

5、d小應(yīng)用程序。(3) 設(shè)置path和classpath環(huán)境變量。程序調(diào)試通過后填寫實(shí)驗(yàn)報(bào)告。2.預(yù)習(xí)內(nèi)容Java語(yǔ)言概述3.實(shí)驗(yàn)類型驗(yàn)證型4.實(shí)驗(yàn)?zāi)康?1) 了解 Java 程序運(yùn)行環(huán)境;(2) 掌握程序調(diào)試的全部過程;(3) 學(xué)會(huì)編寫和調(diào)試 Java Application 和 Java Applet 程序;(4) 掌握java環(huán)境變量的配置 5.實(shí)驗(yàn)要求(1) 在修改源程序文件名時(shí),測(cè)試源程序文件名是否必須與公有類類名一致;若源程序中沒有公有類,源程序文件名可以如何命名;(2) 注意觀察字節(jié)碼文件何時(shí)生成,在何路徑下生成;(3) 掌握設(shè)置環(huán)境變量的方法。實(shí)驗(yàn)2 Java基本語(yǔ)法(2學(xué)時(shí))1

6、.實(shí)驗(yàn)內(nèi)容(1)實(shí)現(xiàn)一個(gè)整數(shù)N的階乘運(yùn)算。N為固定常數(shù)。(2)在屏幕上按如下格式輸出乘法口訣表:1X1=11X2=2 2X2=41X3=3 2X3=6 3X3=9其中,每行的多個(gè)乘法公式之間用t分割(3)編寫一個(gè)簡(jiǎn)單的猜數(shù)游戲程序:l 利用Math.random()方法生成0-1之間的double型數(shù)dNum,將dNum轉(zhuǎn)換為0-100之間的整數(shù)iNum。l 利用KeyInput.readInt()方法接收鍵盤輸入的整數(shù)inNum。如果inNum小于iNum,在屏幕上顯示“輸入的值小,請(qǐng)輸入更大的數(shù).”;如果inNum大于iNum,在屏幕上顯示“輸入的值大,請(qǐng)輸入更小的數(shù).”;如果inNum等

7、于iNum,在屏幕上顯示“猜對(duì)了.”,并結(jié)束運(yùn)行。l 猜測(cè)錯(cuò)誤的時(shí)候,重新輸入inNum,直到猜對(duì)為止。如果猜測(cè)10次后仍未猜對(duì),顯示“猜測(cè)次數(shù)已達(dá)10次,猜數(shù)失敗.”,并結(jié)束程序的運(yùn)行。2.預(yù)習(xí)內(nèi)容常用控制語(yǔ)句的格式System.out.print和System.out.println方法的區(qū)別3.實(shí)驗(yàn)類型驗(yàn)證型4.實(shí)驗(yàn)?zāi)康?1)掌握J(rèn)ava循環(huán)控制語(yǔ)句和System.out.print、System.out.println方法的使用(2)掌握J(rèn)ava隨機(jī)數(shù)方法和鍵盤輸入類KeyInput的使用5.實(shí)驗(yàn)要求(1)階乘計(jì)算部分必須用函數(shù)的遞歸調(diào)用來實(shí)現(xiàn),函數(shù)定義時(shí)應(yīng)聲明為static,如:St

8、atic long getFactorial(int i) (2) 乘法口訣表部分l 編寫NineMultiply類l 在main方法中實(shí)現(xiàn)乘法口訣表的輸出(3) 猜數(shù)游戲部分l 編寫NumGuessGame類l 在main方法中定義相關(guān)變量l 生成dNum和iNuml 利用KeyInput.readInt(),獲取inNum值l 根據(jù)inNum和iNum值,顯示相應(yīng)信息l 如果猜測(cè)10次仍未成功,結(jié)束程序的運(yùn)行6.思考題l 如何將程序修改成可以猜測(cè)多個(gè)數(shù)的程序?l 如何將猜數(shù)游戲程序編寫成更為靈活的類?實(shí)驗(yàn)3類、對(duì)象以及包的使用(6學(xué)時(shí))1.實(shí)驗(yàn)內(nèi)容(1) 實(shí)現(xiàn)一個(gè)Point類,該類包含表示

9、坐標(biāo)的兩個(gè)int型變量x、y,構(gòu)造方法Point()和Point(int xx, int yy),返回x值和y值的int getX()和int getY()方法,計(jì)算兩點(diǎn)間距離的double distance(Point)方法。其中計(jì)算平方根用Math.sqrt()方法。(2) 實(shí)現(xiàn)一個(gè)Circle類,該類包含表示圓心的Point型變量center,表示半徑的int radius變量,以及構(gòu)造方法Circle()、Circle(int xx,int yy,int r)、Circle(Point c,int r),返回周長(zhǎng)和面積的int perimeter()、double area()方法,返

10、回兩個(gè)圓是否為同一個(gè)圓(返回0)、同心圓(返回1)、相交的圓(返回2)、分離的圓(返回3)、包含的圓(返回4)等關(guān)系的int relation(Circle c)等方法。PI值可以用Math.PI常量。(3) 實(shí)現(xiàn)測(cè)試上述兩個(gè)類的ClassTest類。該類在main方法中分別創(chuàng)建若干個(gè)Point對(duì)象和Circle對(duì)象,并調(diào)用相關(guān)方法,輸出方法的返回值,驗(yàn)證其正確性。(4) 將1-2實(shí)驗(yàn)中類的包名分別調(diào)整為experiment?,并重新運(yùn)行,驗(yàn)證是否運(yùn)行正確。其中?表示實(shí)驗(yàn)編號(hào)。(5) 實(shí)現(xiàn)Rectangle類和RectangleTest類。其中,Rectangle類隸屬于包的包名為experi

11、ment9,含有兩個(gè)方法:構(gòu)造方法Rectangle()和計(jì)算面積的方法area();RectangleTest類不屬于experiment9包,利用RectangleTest類調(diào)用包experiment9中的Rectangle類,計(jì)算矩形面積。(6) 程序調(diào)試通過后填寫實(shí)驗(yàn)報(bào)告。2.預(yù)習(xí)內(nèi)容(1) 類的組成:成員變量、成員方法、構(gòu)造方法(2) 對(duì)象的創(chuàng)建和使用(3) Java包及其使用方法3.實(shí)驗(yàn)類型 設(shè)計(jì)型4.實(shí)驗(yàn)?zāi)康?1)掌握J(rèn)ava類的設(shè)計(jì)原理和對(duì)象的使用方法(2)理解包的概念以及package語(yǔ)句的用法。(3)掌握編譯和運(yùn)行包的方法。(4)理解import語(yǔ)句的用法。(5)掌握自己設(shè)

12、計(jì)包的方法和步驟以及調(diào)用自己設(shè)計(jì)的包的方法。5.實(shí)驗(yàn)要求(1) 編寫Point類,實(shí)現(xiàn)相關(guān)方法(2) 編寫Circle類,實(shí)現(xiàn)相關(guān)方法(3) 編寫ClassTest類,并在main方法中創(chuàng)建兩個(gè)Point對(duì)象和兩個(gè)Circle對(duì)象,對(duì)象的參數(shù)可以用固定值(4) 調(diào)用Point和Circle的相關(guān)方法,并把返回值輸出到屏幕上。(5)l 把實(shí)驗(yàn)1-2的程序制作為2個(gè)Java包。l 實(shí)驗(yàn)中的包名為experiment?,其中?表示實(shí)驗(yàn)編號(hào)。例如,實(shí)驗(yàn)1中的HelloWorldApp類的所隸屬的包名為experiment1。(6)l 實(shí)現(xiàn)Rectangle類,含有兩個(gè)方法:構(gòu)造方法Rectangle(

13、)和計(jì)算面積的方法area()。l Rectangle類隸屬于包的包名為experiment9l 實(shí)現(xiàn)RectangleTest類。利用RectangleTest類調(diào)用包experiment9中的Rectangle類,計(jì)算矩形面積。(7) 提交調(diào)試通過的Java程序和實(shí)驗(yàn)報(bào)告。6.思考題(1) 為什么distance()和relation()方法只需要一個(gè)參數(shù)?提供兩個(gè)或更多的參數(shù)有什么缺點(diǎn)?(2) relation()方法只返回整數(shù),而不是在方法內(nèi)部直接輸出判斷結(jié)果。這么做有什么優(yōu)點(diǎn)?實(shí)驗(yàn)4繼承性與Object類(2學(xué)時(shí))1.實(shí)驗(yàn)內(nèi)容(1) 編寫一個(gè)代表圓柱體的Cylinder類,該類是Ci

14、rcle類的子類。Cylinder類包括圓柱體的高度變量height以及計(jì)算圓柱體的體積方法volume()和計(jì)算表面積的方法surfaceArea()。(2) 編寫測(cè)試Cylinder類的CylinderTest類,并在該類得main方法中調(diào)用Cylinder類的相關(guān)方法。(3) 重寫Point和Circle類的equals()、toString()方法,并測(cè)試這些方法的正確性。(4) 定義四則運(yùn)算接口Computable,接口中包括加、減、乘、除四個(gè)抽象方法。再定義接口的實(shí)現(xiàn)類和測(cè)試類兩個(gè)類,測(cè)試類中嘗試使用接口回調(diào)調(diào)用四則運(yùn)算方法。(5) 程序調(diào)試通過后填寫實(shí)驗(yàn)報(bào)告。2.預(yù)習(xí)內(nèi)容(1)

15、類的定義(2) 繼承機(jī)制及其作用(3) Object類的作用(4) equals()方法和toString()方法3.實(shí)驗(yàn)類型 設(shè)計(jì)型4.實(shí)驗(yàn)?zāi)康恼莆認(rèn)ava繼承機(jī)制的使用方法掌握Object類與其它類之間的關(guān)系5.實(shí)驗(yàn)要求(1) 確定Circle類的包名(2) 在Cylinder類中用import導(dǎo)入Circle類(3) 編寫Cylinder類的代碼(4) 編寫CylinderTest類的代碼(5) 在Point和Circle類中分別添加equals()方法和toString()方法(6) 測(cè)試上述方法的正確性6.思考題您還可以設(shè)計(jì)哪些Circle類的子類?為什么equals()方法和toS

16、tring()方法的訪問類型必須為public?實(shí)驗(yàn)5數(shù)組和向量(2學(xué)時(shí))1.實(shí)驗(yàn)內(nèi)容(1) 設(shè)計(jì)和編寫代表矩陣的Matrix類。該類包括矩陣行列數(shù)變量int rows和int cols,矩陣數(shù)據(jù)數(shù)組double data,構(gòu)造方法Matrix()、Matrix(int rows,int cols)、Matrix(int rows,int cols,double data),獲取某元素值的方法getData(int row,int col),設(shè)置某元素值的方法setData(int row,int col,double value),計(jì)算兩個(gè)矩陣的乘積的方法multiply(Matrix m)

17、以及toString()等內(nèi)容。(2) 編寫測(cè)試類MatrixTest,并在該類中創(chuàng)建兩個(gè)矩陣對(duì)象,計(jì)算其乘積。(3) 驗(yàn)證教材例7.5,了解向量Vector的用法(4) 程序調(diào)試通過后填寫實(shí)驗(yàn)報(bào)告。2.預(yù)習(xí)內(nèi)容(1) 數(shù)組的定義(2) 類的定義(3) 向量的使用3.實(shí)驗(yàn)類型 設(shè)計(jì)型4.實(shí)驗(yàn)?zāi)康恼莆諗?shù)組的定義和使用,了解向量的用法。5.實(shí)驗(yàn)要求(1) 編寫Matrix類(2) 編寫MatrixTest類。在該類中通過鍵盤輸入方式確定所要?jiǎng)?chuàng)建的兩個(gè)矩陣的行列數(shù),根據(jù)行列數(shù)隨機(jī)生成數(shù)據(jù)或鍵盤輸入,并通過setData方法生成矩陣的內(nèi)容。(3) 計(jì)算矩陣的乘積,并把結(jié)果通過toString方法輸出到

18、屏幕上6.思考題(1) 您還可以編寫哪些Matrix類的方法?(2) 如果沒有setData方法,如何將矩陣的元素值賦值? 實(shí)驗(yàn)6 異常處理(2學(xué)時(shí))1.實(shí)驗(yàn)內(nèi)容將教材書后的習(xí)題二第6小題調(diào)試通過。2.預(yù)習(xí)內(nèi)容異常處理3.實(shí)驗(yàn)類型 其它型4.實(shí)驗(yàn)?zāi)康?1) 理解異常的使用和自定義異常類的方法。(2) 理解throw和throws的區(qū)別和聯(lián)系。5.實(shí)驗(yàn)要求(1) 將教材書后的習(xí)題二第6小題調(diào)試通過。(2) 提交調(diào)試通過的Java程序。實(shí)驗(yàn)7 輸入/輸出處理(2學(xué)時(shí))1.實(shí)驗(yàn)內(nèi)容(1)結(jié)合例10-3和11-3,實(shí)現(xiàn)文件復(fù)制和顯示功能的程序。(2)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的文本編輯器,該編輯器從鍵盤依次讀入成行

19、的文本,并將文本內(nèi)容及時(shí)寫入文件中,文件名由命令行參數(shù)指定。如果輸入“stop”,運(yùn)行結(jié)束。2.預(yù)習(xí)內(nèi)容輸入/輸出處理、輸入/輸出處理中的字符流操作3.實(shí)驗(yàn)類型 設(shè)計(jì)型4.實(shí)驗(yàn)?zāi)康?1) 理解FileInputStream和FileOutputStream類的使用方法。(2) 理解字符流操作:練習(xí)面向字符的I/O 流操作(3) 能夠創(chuàng)建、讀寫、更新文件5.實(shí)驗(yàn)要求(1) 結(jié)合例10-3和11-3,實(shí)現(xiàn)文件復(fù)制和顯示功能的程序。把程序調(diào)試通過。(2) 在以上操作中,均要求帶有異常處理結(jié)構(gòu)(3) 提交調(diào)試通過的Java程序。實(shí)驗(yàn)8 GUI程序(2學(xué)時(shí))1.實(shí)驗(yàn)內(nèi)容(1) 編寫一個(gè)簡(jiǎn)易計(jì)算器程序,其界面如下圖所示:(2) 用戶界面可以手工編碼的形式構(gòu)造,也可以使用Netbeans、Eclipse等開發(fā)工具

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論