




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Java語言程序設計 實驗講義黑龍江大學計算機科學技術學院2010年3月前 言Java語言程序設計實驗在面向對象程序設計的基礎上,闡述Java語言的編程基礎及其設計方法。內容包括:Java程序的輸入輸出、表達式與運算符、結構化程序設計、類、屬性和方法、繼承和重載、包和接口、Applet與圖形用戶界面以及相關Java網絡設計等知識,本課程注重實際應用操作,采用實例講解為學生進一步學習J2EE和J2ME打下技術基礎。結合對實例的開發,以學生為主體,充分發揮學生的主觀能動性,引導學生自學教材部分內容,并鍛煉學生自行開發各種小型程序模塊;培養和鍛煉學生利用Java語言進行網絡編程的能力。Java語言程
2、序設計實驗是以程序設計操作為主的技能課程,它由若干個獨立的實驗項目組成,與相應的理論課Java語言程序設計配套,本課程的目標是:(1) 加深學生對課堂講授內容的理解,從計算機語言的基本概念、面向對象程序設計的基本方法、語法規則等方面加深理解,打好面向對象程序設計、軟件開發的良好基礎。(2) 在上機實驗中,提高學生對Java 語言各部分內容的綜合使用能力,逐步掌握Java語言程序設計的規律與技巧。(3) 在對Java 程序的調試過程中,提高學生分析程序中出現的錯誤和排除這些錯誤的能力。(4) 通過上機實踐,加深學生對計算機軟件運行環境、Java 集成開發環境的了解。實驗要求Java語言程序設計實
3、驗是與Java語言程序設計理論課配套的實驗課程。通過本課程的實驗訓練,要求學生能運用所學理論知識進行基本的面向對象程序設計,培養其規范的編程習慣,掌握基本的操作技能和編程思想。同時要注意培養學生實事求是的科學態度,相互協作的團隊精神,為學習后續課程,參加實際工作和開展科學研究打下良好的基礎。具體要求是:(1) 本課程以實驗為主,配合理論課的教學。任課教師需向學生講清課程的性質,任務,要求,課程安排和進度,平時考核內容,期末考試辦法,實驗守則及實驗室安全制度等。(2) 本課程主要設置下列類型的實驗:(1)基本操作訓練,(2)驗證性及設計性實驗;整個實驗過程包括課前準備,實驗操作,實驗報告等環節。
4、學生在實驗前必須進行準備。(3) 根據實驗內容不同,基本操作性的實驗1 人1 組,設計性實驗可根據情況多人一組,每個實驗要求在規定時間內由學生獨立完成。(4) 實驗過程中,老師應在實驗室進行巡視,及時回答問題,糾正學生的錯誤操作,檢查學生的實驗報告。(5) 任課教師要認真備課,提前預做實驗,上好每一堂課。實驗前清點學生人數。實驗的驗收將分為兩個部分。第一部分是上機操作,包括設計結果的源程序的驗收與檢查。第二部分是提交書面的實驗報告。實驗1 Java 程序的編輯、編譯、運行環境(2學時)1.實驗內容(1) 編寫并調試運行HelloWorld應用程序。(2) 編寫并調試運行HelloWorld小應
5、用程序。(3) 設置path和classpath環境變量。程序調試通過后填寫實驗報告。2.預習內容Java語言概述3.實驗類型驗證型4.實驗目的(1) 了解 Java 程序運行環境;(2) 掌握程序調試的全部過程;(3) 學會編寫和調試 Java Application 和 Java Applet 程序;(4) 掌握java環境變量的配置 5.實驗要求(1) 在修改源程序文件名時,測試源程序文件名是否必須與公有類類名一致;若源程序中沒有公有類,源程序文件名可以如何命名;(2) 注意觀察字節碼文件何時生成,在何路徑下生成;(3) 掌握設置環境變量的方法。實驗2 Java基本語法(2學時)1.實驗
6、內容(1)實現一個整數N的階乘運算。N為固定常數。(2)在屏幕上按如下格式輸出乘法口訣表:1X1=11X2=2 2X2=41X3=3 2X3=6 3X3=9其中,每行的多個乘法公式之間用t分割(3)編寫一個簡單的猜數游戲程序:l 利用Math.random()方法生成0-1之間的double型數dNum,將dNum轉換為0-100之間的整數iNum。l 利用KeyInput.readInt()方法接收鍵盤輸入的整數inNum。如果inNum小于iNum,在屏幕上顯示“輸入的值小,請輸入更大的數.”;如果inNum大于iNum,在屏幕上顯示“輸入的值大,請輸入更小的數.”;如果inNum等于iN
7、um,在屏幕上顯示“猜對了.”,并結束運行。l 猜測錯誤的時候,重新輸入inNum,直到猜對為止。如果猜測10次后仍未猜對,顯示“猜測次數已達10次,猜數失敗.”,并結束程序的運行。2.預習內容常用控制語句的格式System.out.print和System.out.println方法的區別3.實驗類型驗證型4.實驗目的(1)掌握Java循環控制語句和System.out.print、System.out.println方法的使用(2)掌握Java隨機數方法和鍵盤輸入類KeyInput的使用5.實驗要求(1)階乘計算部分必須用函數的遞歸調用來實現,函數定義時應聲明為static,如:Stati
8、c long getFactorial(int i) (2) 乘法口訣表部分l 編寫NineMultiply類l 在main方法中實現乘法口訣表的輸出(3) 猜數游戲部分l 編寫NumGuessGame類l 在main方法中定義相關變量l 生成dNum和iNuml 利用KeyInput.readInt(),獲取inNum值l 根據inNum和iNum值,顯示相應信息l 如果猜測10次仍未成功,結束程序的運行6.思考題l 如何將程序修改成可以猜測多個數的程序?l 如何將猜數游戲程序編寫成更為靈活的類?實驗3類、對象以及包的使用(6學時)1.實驗內容(1) 實現一個Point類,該類包含表示坐標的
9、兩個int型變量x、y,構造方法Point()和Point(int xx, int yy),返回x值和y值的int getX()和int getY()方法,計算兩點間距離的double distance(Point)方法。其中計算平方根用Math.sqrt()方法。(2) 實現一個Circle類,該類包含表示圓心的Point型變量center,表示半徑的int radius變量,以及構造方法Circle()、Circle(int xx,int yy,int r)、Circle(Point c,int r),返回周長和面積的int perimeter()、double area()方法,返回兩個
10、圓是否為同一個圓(返回0)、同心圓(返回1)、相交的圓(返回2)、分離的圓(返回3)、包含的圓(返回4)等關系的int relation(Circle c)等方法。PI值可以用Math.PI常量。(3) 實現測試上述兩個類的ClassTest類。該類在main方法中分別創建若干個Point對象和Circle對象,并調用相關方法,輸出方法的返回值,驗證其正確性。(4) 將1-2實驗中類的包名分別調整為experiment?,并重新運行,驗證是否運行正確。其中?表示實驗編號。(5) 實現Rectangle類和RectangleTest類。其中,Rectangle類隸屬于包的包名為experimen
11、t9,含有兩個方法:構造方法Rectangle()和計算面積的方法area();RectangleTest類不屬于experiment9包,利用RectangleTest類調用包experiment9中的Rectangle類,計算矩形面積。(6) 程序調試通過后填寫實驗報告。2.預習內容(1) 類的組成:成員變量、成員方法、構造方法(2) 對象的創建和使用(3) Java包及其使用方法3.實驗類型 設計型4.實驗目的(1)掌握Java類的設計原理和對象的使用方法(2)理解包的概念以及package語句的用法。(3)掌握編譯和運行包的方法。(4)理解import語句的用法。(5)掌握自己設計包的
12、方法和步驟以及調用自己設計的包的方法。5.實驗要求(1) 編寫Point類,實現相關方法(2) 編寫Circle類,實現相關方法(3) 編寫ClassTest類,并在main方法中創建兩個Point對象和兩個Circle對象,對象的參數可以用固定值(4) 調用Point和Circle的相關方法,并把返回值輸出到屏幕上。(5)l 把實驗1-2的程序制作為2個Java包。l 實驗中的包名為experiment?,其中?表示實驗編號。例如,實驗1中的HelloWorldApp類的所隸屬的包名為experiment1。(6)l 實現Rectangle類,含有兩個方法:構造方法Rectangle()和計
13、算面積的方法area()。l Rectangle類隸屬于包的包名為experiment9l 實現RectangleTest類。利用RectangleTest類調用包experiment9中的Rectangle類,計算矩形面積。(7) 提交調試通過的Java程序和實驗報告。6.思考題(1) 為什么distance()和relation()方法只需要一個參數?提供兩個或更多的參數有什么缺點?(2) relation()方法只返回整數,而不是在方法內部直接輸出判斷結果。這么做有什么優點?實驗4繼承性與Object類(2學時)1.實驗內容(1) 編寫一個代表圓柱體的Cylinder類,該類是Circl
14、e類的子類。Cylinder類包括圓柱體的高度變量height以及計算圓柱體的體積方法volume()和計算表面積的方法surfaceArea()。(2) 編寫測試Cylinder類的CylinderTest類,并在該類得main方法中調用Cylinder類的相關方法。(3) 重寫Point和Circle類的equals()、toString()方法,并測試這些方法的正確性。(4) 定義四則運算接口Computable,接口中包括加、減、乘、除四個抽象方法。再定義接口的實現類和測試類兩個類,測試類中嘗試使用接口回調調用四則運算方法。(5) 程序調試通過后填寫實驗報告。2.預習內容(1) 類的定
15、義(2) 繼承機制及其作用(3) Object類的作用(4) equals()方法和toString()方法3.實驗類型 設計型4.實驗目的掌握Java繼承機制的使用方法掌握Object類與其它類之間的關系5.實驗要求(1) 確定Circle類的包名(2) 在Cylinder類中用import導入Circle類(3) 編寫Cylinder類的代碼(4) 編寫CylinderTest類的代碼(5) 在Point和Circle類中分別添加equals()方法和toString()方法(6) 測試上述方法的正確性6.思考題您還可以設計哪些Circle類的子類?為什么equals()方法和toStri
16、ng()方法的訪問類型必須為public?實驗5數組和向量(2學時)1.實驗內容(1) 設計和編寫代表矩陣的Matrix類。該類包括矩陣行列數變量int rows和int cols,矩陣數據數組double data,構造方法Matrix()、Matrix(int rows,int cols)、Matrix(int rows,int cols,double data),獲取某元素值的方法getData(int row,int col),設置某元素值的方法setData(int row,int col,double value),計算兩個矩陣的乘積的方法multiply(Matrix m)以及t
17、oString()等內容。(2) 編寫測試類MatrixTest,并在該類中創建兩個矩陣對象,計算其乘積。(3) 驗證教材例7.5,了解向量Vector的用法(4) 程序調試通過后填寫實驗報告。2.預習內容(1) 數組的定義(2) 類的定義(3) 向量的使用3.實驗類型 設計型4.實驗目的掌握數組的定義和使用,了解向量的用法。5.實驗要求(1) 編寫Matrix類(2) 編寫MatrixTest類。在該類中通過鍵盤輸入方式確定所要創建的兩個矩陣的行列數,根據行列數隨機生成數據或鍵盤輸入,并通過setData方法生成矩陣的內容。(3) 計算矩陣的乘積,并把結果通過toString方法輸出到屏幕上
18、6.思考題(1) 您還可以編寫哪些Matrix類的方法?(2) 如果沒有setData方法,如何將矩陣的元素值賦值? 實驗6 異常處理(2學時)1.實驗內容將教材書后的習題二第6小題調試通過。2.預習內容異常處理3.實驗類型 其它型4.實驗目的(1) 理解異常的使用和自定義異常類的方法。(2) 理解throw和throws的區別和聯系。5.實驗要求(1) 將教材書后的習題二第6小題調試通過。(2) 提交調試通過的Java程序。實驗7 輸入/輸出處理(2學時)1.實驗內容(1)結合例10-3和11-3,實現文件復制和顯示功能的程序。(2)實現一個簡單的文本編輯器,該編輯器從鍵盤依次讀入成行的文本
19、,并將文本內容及時寫入文件中,文件名由命令行參數指定。如果輸入“stop”,運行結束。2.預習內容輸入/輸出處理、輸入/輸出處理中的字符流操作3.實驗類型 設計型4.實驗目的(1) 理解FileInputStream和FileOutputStream類的使用方法。(2) 理解字符流操作:練習面向字符的I/O 流操作(3) 能夠創建、讀寫、更新文件5.實驗要求(1) 結合例10-3和11-3,實現文件復制和顯示功能的程序。把程序調試通過。(2) 在以上操作中,均要求帶有異常處理結構(3) 提交調試通過的Java程序。實驗8 GUI程序(2學時)1.實驗內容(1) 編寫一個簡易計算器程序,其界面如下圖所示:(2) 用戶界面可以手工編碼的形式構造,也可以使用Netbeans、Eclipse等開發工具
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業園區規劃與建設經驗分享
- 工業大數據在智能工廠的應用實踐
- 工業污染治理設施運營與維護
- 工業廢水處理技術及發展趨勢
- 工業污染與防治策略
- 工業自動化中機器視覺的技術突破
- 工業物聯網技術的發展與挑戰
- 工業綠色化改造實踐
- 工業級安防監控技術的突破與趨勢
- 工業設計在智能制造中的作用與價值
- 工地試驗室安全培訓內容
- 醫療設備維保服務項目組織機構及人員配備
- 射頻同軸連接器設計理論基礎
- 2024年內蒙古自治區包頭市公開招聘警務輔助人員(輔警)筆試高頻必刷題試卷含答案
- 耳尖放血醫學課件
- 公司綠色可持續發展規劃報告
- 2024年4月份弱電施工日志
- 【MOOC】設計的力量-湖南大學 中國大學慕課MOOC答案
- 《AIGC與電商營銷技能實戰(慕課版)》 課件 第9章 AIGC 應用案例
- 《現代儀器分析方法》課件
- 南郵軟件設計報告
評論
0/150
提交評論