




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Java語言程序設計 實驗講義For pers onal use only in study andresearch; not for commercial use黑龍江大學計算機科學技術學院2010年3月、八前言 Java 語言程序設計實驗在面向對象程序設計的基礎上,闡述Java 語言的編程基礎及其設計方法。內容包括: Java 程序的輸入輸出、表達式與運算符、結構化程序設計、類、屬性和方法、繼 承和重載、包和接口、 Applet 與圖形用戶界面以及相關 Java 網(wǎng)絡設計等知識,本課程注重實際應用 操作,采用實例講解為學生進一步學習J2EE和J2ME打下技術基礎。結合對實例的開發(fā),以學生為
2、主體,充分發(fā)揮學生的主觀能動性,引導學生自學教材部分內容,并鍛煉學生自行開發(fā)各種小型程序模 塊;培養(yǎng)和鍛煉學生利用 Java 語言進行網(wǎng)絡編程的能力。 Java 語言程序設計實驗是以程序設計 操作為主的技能課程,它由若干個獨立的實驗項目組成,與相應的理論課Java 語言程序設計配套,本課程的目標是:(1) 加深學生對課堂講授內容的理解, 從計算機語言的基本概念、 面向對象程序設計的基本方法、 語法規(guī)則等方面加深理解,打好面向對象程序設計、軟件開發(fā)的良好基礎。(2) 在上機實驗中,提高學生對 Java語言各部分內容的綜合使用能力,逐步掌握Java語言程序設計的規(guī)律與技巧。(3) 在對Java程序
3、的調試過程中,提高學生分析程序中出現(xiàn)的錯誤和排除這些錯誤的能力。(4) 通過上機實踐,加深學生對計算機軟件運行環(huán)境、 Java 集成開發(fā)環(huán)境的了解。實驗要求 Java 語言程序設計實驗是與 Java 語言程序設計理論課配套的實驗課程。通過本課程的 實驗訓練,要求學生能運用所學理論知識進行基本的面向對象程序設計,培養(yǎng)其規(guī)范的編程習慣,掌 握基本的操作技能和編程思想。同時要注意培養(yǎng)學生實事求是的科學態(tài)度,相互協(xié)作的團隊精神,為 學習后續(xù)課程,參加實際工作和開展科學研究打下良好的基礎。具體要求是:(1) 本課程以實驗為主,配合理論課的教學。任課教師需向學生講清課程的性質,任務,要求, 課程安排和進度
4、,平時考核內容,期末考試辦法,實驗守則及實驗室安全制度等。(2) 本課程主要設置下列類型的實驗:( 1)基本操作訓練,( 2)驗證性及設計性實驗;整個實 驗過程包括課前準備,實驗操作,實驗報告等環(huán)節(jié)。學生在實驗前必須進行準備。(3) 根據(jù)實驗內容不同,基本操作性的實驗 1 人 1 組,設計性實驗可根據(jù)情況多人一組,每個 實驗要求在規(guī)定時間內由學生獨立完成。(4) 實驗過程中,老師應在實驗室進行巡視,及時回答問題,糾正學生的錯誤操作,檢查學生的 實驗報告。(5) 任課教師要認真?zhèn)湔n,提前預做實驗,上好每一堂課。實驗前清點學生人數(shù)。 實驗的驗收將分為兩個部分。第一部分是上機操作,包括設計結果的源程
5、序的驗收與檢查。第二部分是提交書面的實驗報告。實驗 1 Java 程序的編輯、編譯、運行環(huán)境( 2 學時)1. 實驗內容(1) 編寫并調試運行 HelloWorld 應用程序。(2) 編寫并調試運行 HelloWorld 小應用程序。(3) 設置 path 和 classpath 環(huán)境變量。 程序調試通過后填寫實驗報告。2. 預習內容Java 語言概述3. 實驗類型驗證型4. 實驗目的(1) 了解 Java 程序運行環(huán)境;(2) 掌握程序調試的全部過程;(3) 學會編寫和調試 Java Application和 Java Applet 程序;(4) 掌握 java 環(huán)境變量的配置5. 實驗要求
6、(1) 在修改源程序文件名時,測試源程序文件名是否必須與公有類類名一致;若源程序中沒有公 有類,源程序文件名可以如何命名;(2) 注意觀察字節(jié)碼文件何時生成,在何路徑下生成;(3) 掌握設置環(huán)境變量的方法。實驗 2 Java 基本語法( 2 學時)1. 實驗內容(1) 實現(xiàn)一個整數(shù) N的階乘運算。N為固定常數(shù)。(2) 在屏幕上按如下格式輸出乘法口訣表:1X1=11X2=2 2X2=41X3=3 2X3=6 3X3=9其中,每行的多個乘法公式之間用 t '分割(3) 編寫一個簡單的猜數(shù)游戲程序:利用Math.random()方法生成 0-1之間的double型數(shù)dNun,將dNum轉換為
7、0-100之間的 整數(shù) iNum。利用Keyl nput.readl nt()方法接收鍵盤輸入的整數(shù) in Num。如果in Num小于iNum,在屏幕上顯示"輸入的值小,請輸入更大的數(shù).”;如果inNum大于iNum,在屏幕上顯示"輸入的值大,請輸入更小的數(shù).”;如果inNum等于iNum,在屏幕上顯示"猜對了 . ”,并結束運行。猜測錯誤的時候,重新輸入 inNum,直到猜對為止。如果猜測 10次后仍未猜對,顯示“猜 測次數(shù)已達 10 次,猜數(shù)失敗 . ”,并結束程序的運行。2. 預習內容常用控制語句的格式3. 實驗類型驗證型4. 實驗目的(1) 掌握 Jav
8、a 循環(huán)控制語句和(2) 掌握 Java 隨機數(shù)方法和鍵盤輸入類 Keylnput 的使用5. 實驗要求(1) 階乘計算部分必須用函數(shù)的遞歸調用來實現(xiàn),函數(shù)定義時應聲明為static ,如:Static long getFactorial(int i)(2) 乘法口訣表部分編寫 NineMultiply 類在 main 方法中實現(xiàn)乘法口訣表的輸出(3) 猜數(shù)游戲部分編寫 NumGuessGam類在 main 方法中定義相關變量生成dNum和iNum利用 KeyInput.readInt() ,獲取 inNum 值 根據(jù) inNum 和 iNum 值,顯示相應信息 如果猜測 10 次仍未成功,結
9、束程序的運行6. 思考題如何將程序修改成可以猜測多個數(shù)的程序? 如何將猜數(shù)游戲程序編寫成更為靈活的類?實驗 3 類、對象以及包的使用( 6 學時)1. 實驗內容(1)實現(xiàn)一個Point類,該類包含表示坐標的兩個int型變量x、y,構造方法Point()和Point(int xx, int yy),返回 x 值和 y 值的 int getX() 和 int getY() 方法,計算兩點間距離的 double distance(Point) 方法。其中計算平方根用 Math.sqrt() 方法。( 2) 實現(xiàn)一個 Circle 類,該類包含表示圓心的 Point 型變量 center ,表示半徑的
10、 int radius 變量,以及構造方法 Circle() 、 Circle(int xx,int yy,int r) 、 Circle(Point c,int r) ,返回周長和面積的 int perimeter() 、 double area() 方法,返回兩個圓是否為同一個 圓(返回 0)、同心圓(返回 1 )、相交的圓(返回 2)、分離的圓(返回 3)、包含的圓(返 回 4)等關系的 int relation(Circle c) 等方法。 PI 值可以用 Math.PI 常量。( 3) 實現(xiàn)測試上述兩個類的 ClassTest 類。該類在 main 方法中分別創(chuàng)建若干個 Point
11、對象 和 Circle 對象,并調用相關方法,輸出方法的返回值,驗證其正確性。將1-2實驗中類的包名分別調整為experiment?,并重新運行,驗證是否運行正確。其中?表示實驗編號。(5) 實 現(xiàn) Rectangle 類和 RectangleTest 類 。其 中 , Rectangle 類 隸屬 于 包 的 包 名為 experiment9 ,含有兩個方法:構造方法 Rectangle() 和計算面積的方法 area() ;RectangleTest 類 不屬于 experiment9 包, 利用 RectangleTest 類調用包 experiment9 中的 Rectangle 類,
12、計算矩形面 積。( 6) 程序調試通過后填寫實驗報告。2. 預習內容(1 ) 類的組成:成員變量、成員方法、構造方法( 2) 對象的創(chuàng)建和使用( 3) Java 包及其使用方法3. 實驗類型設計型4. 實驗目的(1) 掌握Java類的設計原理和對象的使用方法(2) 理解包的概念以及 package 語句的用法。(3) 掌握編譯和運行包的方法。(4) 理解 import 語句的用法。(5) 掌握自己設計包的方法和步驟以及調用自己設計的包的方法。5. 實驗要求(1) 編寫 Point 類,實現(xiàn)相關方法(2) 編寫 Circle 類,實現(xiàn)相關方法(3) 編寫 ClassTest 類,并在 main
13、方法中創(chuàng)建兩個 Point 對象和兩個 Circle 對象, 對象的 參數(shù)可以用固定值(4) 調用 Point 和 Circle 的相關方法,并把返回值輸出到屏幕上。(5)把實驗 1-2 的程序制作為 2 個 Java 包。實驗中的包名為 experiment? ,其中 ?表示實驗編號。例如,實驗 1 中的 HelloWorldApp 類 的所隸屬的包名為 experiment1 。(6)實現(xiàn) Rectangle 類,含有兩個方法:構造方法 Rectangle() 和計算面積的方法 area() 。 Rectangle 類隸屬于包的包名為 experiment9實現(xiàn) RectangleTest
14、 類。 利用 RectangleTest 類調用包 experiment9 中的 Rectangle 類,計 算矩形面積。(7) 提交調試通過的 Java 程序和實驗報告。6. 思考題1) 為什么 distance() 和 relation() 方法只需要一個參數(shù)?提供兩個或更多的參數(shù)有什么 缺點?2) relation() 方法只返回整數(shù),而不是在方法內部直接輸出判斷結果。這么做有什么優(yōu)點?實驗 4 繼承性與 Object 類(2 學時)1. 實驗內容( 1) 編寫一個代表圓柱體的 Cylinder 類,該類是 Circle 類的子類。 Cylinder 類包括圓柱 體的高度變量 heigh
15、t 以及計算圓柱體的體積方 法 volume() 和計算表面 積的方法 surfaceArea() 。( 2) 編寫測試 Cylinder 類的 CylinderTest 類,并在該類得 main 方法中調用 Cylinder 類的 相關方法。( 3) 重寫 Point 和 Circle 類的 equals() 、 toString() 方法,并測試這些方法的正確性。( 4) 定義四則運算接口 Computable ,接口中包括加、減、乘、除四個抽象方法。再定義接 口的實現(xiàn)類和測試類兩個類,測試類中嘗試使用接口回調調用四則運算方法。( 5) 程序調試通過后填寫實驗報告。2. 預習內容1)類的定
16、義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. 思考題您還可以設計哪些
17、Circle 類的子類?public ?為什么 equals() 方法和 toString() 方法的訪問類型必須為實驗 5 數(shù)組和向量( 2 學時)1. 實驗內容( 1) 設計和編寫代表矩陣的 Matrix 類。該類包括矩陣行列數(shù)變量 int rows 和 int cols , 矩陣數(shù)據(jù)數(shù)組 double data ,構造方法 Matrix() 、 Matrix(int rows,int cols)、Matrix(int rows,int cols,double data) , 獲 取 某 元 素 值 的 方 法 getData(int row,int col) ,設置某元素值的方法 set
18、Data(int row,int col,double value) ,計算兩 個矩陣的乘積的方法 multiply(Matrix m) 以及 toString() 等內容。( 2) 編寫測試類 MatrixTest ,并在該類中創(chuàng)建兩個矩陣對象,計算其乘積。(3) 驗證教材例 7.5 ,了解向量 Vector 的用法( 4) 程序調試通過后填寫實驗報告。2. 預習內容( 1) 數(shù)組的定義( 2) 類的定義( 3) 向量的使用3. 實驗類型設計型4. 實驗目的掌握數(shù)組的定義和使用,了解向量的用法。5. 實驗要求( 1) 編寫 Matrix 類( 2) 編寫 MatrixTest 類。在該類中通
19、過鍵盤輸入方式確定所要創(chuàng)建的兩個矩陣的行列數(shù), 根據(jù)行列數(shù)隨機生成數(shù)據(jù)或鍵盤輸入,并通過 setData 方法生成矩陣的內容。( 3) 計算矩陣的乘積,并把結果通過 toString 方法輸出到屏幕上6. 思考題(1)您還可以編寫哪些 Matrix 類的方法?(2)如果沒有 setData 方法,如何將矩陣的元素值賦值?實驗 6 異常處理( 2 學時)1. 實驗內容將教材書后的習題二第 6 小題調試通過。2. 預習內容異常處理3. 實驗類型其它型4. 實驗目的(1) 理解異常的使用和自定義異常類的方法。(2) 理解 throw 和 throws 的區(qū)別和聯(lián)系。5. 實驗要求(1) 將教材書后的
20、習題二第 6 小題調試通過。(2) 提交調試通過的 Java 程序。實驗 7 輸入 / 輸出處理( 2 學時)1. 實驗內容( 1)結合例 10-3 和 11-3 ,實現(xiàn)文件復制和顯示功能的程序。(2) 實現(xiàn)一個簡單的文本編輯器,該編輯器從鍵盤依次讀入成行的文本,并將文本內容及時寫 入文件中,文件名由命令行參數(shù)指定。如果輸入“ stop ”,運行結束。2. 預習內容輸入 /輸出處理、輸入 /輸出處理中的字符流操作3. 實驗類型設計型4. 實驗目的(1) 理解 FileInputStream 和 FileOutputStream 類的使用方法。(2) 理解字符流操作:練習面向字符的 I/O 流操
21、作(3) 能夠創(chuàng)建、讀寫、更新文件5. 實驗要求(1) 結合例 10-3 和 11-3 ,實現(xiàn)文件復制和顯示功能的程序。把程序調試通過。(2) 在以上操作中,均要求帶有異常處理結構(3) 提交調試通過的 Java 程序。實驗8 GUI程序(2學時)1. 實驗內容(1) 編寫一個簡易計算器程序,其界面如下圖所示:(2)用戶界面可以手工編碼的形式構造,也可以使用Netbeans、Eclipse等開發(fā)工具(3)編寫各個按鈕的代碼,使得能夠進行四則運算。(4)程序調試通過后填寫實驗報告。2. 預習內容(1)圖形界面程序的特點(2)事件處理機制的原理3. 實驗類型設計型4. 實驗目的掌握圖形界面程序的設計方法和事件處理機制實驗 9 布局及事件處理 (6 學時)1. 實驗內容(1) 結合自己所學的基本組件及授權事件處理模型,完成不同組件的事件處理。(2) 綜合 I/O 流及 GUI 設計相關內容, 在記事本程序、 Windows 自帶計算器、 掃雷游戲中任 選其一來模擬編程。2. 預習內容(1) GUI 編程(布局、事件及基本組件)(2) I/O 流的應用3. 實驗類型綜合型4. 實驗目的掌握GUI編程、I/O流的使用5. 實驗要求(1)編寫一個 GUI 程序,要求程序中包含 List 、 Cho
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度豬場租賃與養(yǎng)殖廢棄物資源化利用合作協(xié)議
- 2025年度危化品物流承包裝卸搬運及安全防護合同
- 二零二五年度董事職責履行與聘任合同
- 2025年度學生安全教育與應急演練合作協(xié)議
- 2025年度醫(yī)院食堂營養(yǎng)均衡供餐服務協(xié)議
- 2025年度農產(chǎn)品電商平臺購銷合同圖片制作與物流服務合同
- 2025年度夫妻共同財產(chǎn)投資決策及收益共享協(xié)議書
- 2025年吉林職業(yè)技術學院單招職業(yè)技能測試題庫及參考答案
- 2025年度保障房東權益的商鋪租賃合同要點
- 2025年度債務轉移與債務清償合同范本
- 2024年南京旅游職業(yè)學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2025年春新外研版(三起)英語三年級下冊課件 Unit2第2課時Speedup
- 人教版(新)九年級下冊化學全冊教案教學設計及教學反思
- 2025年浙江省國土空間規(guī)劃研究院招聘歷年高頻重點提升(共500題)附帶答案詳解
- 2025年安徽省安慶市公安警務輔助人員招聘190人歷年高頻重點提升(共500題)附帶答案詳解
- 7.1力教學課件-2024-2025學年初中物理人教版八年級下冊
- 光伏電站安全培訓課件
- 小學生勤儉節(jié)約課件
- 化工行業(yè)生產(chǎn)過程安全管理升級策略方案
- 慢性胰腺炎病教學查房
- 中考英語復習閱讀理解-主旨大意題、推理判斷題
評論
0/150
提交評論