靈感範文站

位置:首頁 > 實用文 > 彙報材料

Java課程設計的實驗工作報告【精品多篇】

Java課程設計的實驗工作報告【精品多篇】

java課程設計總結 篇一

本次Java課程設計我們這組做的課題是畫隨機圓,剛開始拿到題目我們組員都不知如何下手,經過小組成員一起查找資料,並且開會討論,我們確定了設計的設計目標以及具體實現方式,包括如何將Java的思想運用到實際系統的詳細設計之中。

實驗過程中,首先要將系統要實現的功能分爲幾大模塊,然後每個組員分別完成,在此過程中使我加深了對Java的理解,以及如何進行團隊工作的劃分,學會發現各組員的長處並將其發揮出來。

雖然大家沒怎麼學過Java,但大家都有C語言基礎,所以通過努力實驗,進一步培養我們利用Java語言進行編程和調試程序的能力,同時使我們能夠學會將C語言與Java語言結合起來編寫較複雜具有實際意義和算法複雜度較小的程序。

與此同時熟練掌握Java語言的編輯,編譯,調試程序,並將算法轉變爲程序實現。

正確理解各種數據結構的邏輯特性和存儲表示和基本操作的算法實現。

掌握算法的時間分析和空間分析的技術。

針對問題的特點選擇合適的數據結構,設計實用高效的算法,提高大家的算法設計的能力和動手實驗的技能。

實驗過程中,我們分爲邏輯設計和詳細設計兩個步驟實現。

邏輯設計指的是,對問題描述中涉及的操作對象定義相應的數據類型,並按照以數據結構爲中心的原則劃分模塊,定義主程序模塊和各抽象數據類型;詳細設計則爲定義相應的存儲結構並寫出各函數的僞碼算法。

作爲邏輯設計的結果,應寫出每個抽象數據類型的定義,各主要模塊的算法,並畫出模塊之間的調用關係圖;詳細設計的結果是對數據結構的基本操作的規格說明做出進一步的求精,寫出數據存儲結構的類型定義,按照算法書寫規範用類C語言寫出函數形式的算法框架。

通過這次課程設計,使我靈活應用所學數據結構知識,獨立完成問題分析,結合數據結構理論知識,編寫程序求解指定問題。

初步掌握軟件開發過程的問題分析、系統設計、程序編碼、測試等基本方法和技能;提高綜合運用所學的理論知識和方法獨立分析和解決問題的能力;並用系統的觀點和軟件開發一般規範進行軟件開發,鞏固、深化學生的理論知識,提高編程水平,並在此過程中培養我們嚴謹的科學態度和良好的工作作風。

熟練掌握數據的存儲表示和基本操作的實現,能夠利用存儲設計算法解決簡單的航空訂票問題。

同時在這學期的實驗中,培養了獨立思考、動手操作的能力,在各種其它能力上也都有了提高。

在實驗課上,我學會了很多學習的方法。

而這是日後最實用的。

要面對社會的挑戰,只有不斷的學習、實踐,再學習、再實踐。

這對於我的將來也有很大的幫助。

以後,不管有多苦,我想我都能變苦爲樂,找尋有趣的事情,發現其中珍貴的事情。

就像中國提倡的艱苦奮鬥一樣,我都可以在實驗結束之後變的更加成熟,會面對需要面對的事情,以及學會遇到問題,不急不慌,慢慢解決它。

這次課程設計本人主要參與了系統實現以及系統測試,還有參與小組共同完成的編寫代碼、實現功能模塊。

歷時兩個星期終於在大家的一起努力下順利完成了。

雖然過程辛苦是不可避免,但收穫還是令人感到尤其的欣慰。

在這次的課程設計中不僅檢驗了我所學習的知識,也培養了我的實踐能力,讓我知道遇到一個問題,如何去尋找思路,如何去解決問題,最終完成整個事情。

在設計過程中,與同學分工設計,和同學們相互探討,相互學習,相互監督。

學會了合作,學會了寬容,學會了理解,也學會了做人與處世。

課程設計是我們專業課程知識綜合應用的實踐訓練,是我們邁向社會,從事職業工作前一個必不少的過程。

實驗過程中,也十分感謝實驗指導老師馬駿老師的指點與教導。

這次課程設計不僅是對這學期所學知識的一種綜合檢驗,而且也是對自己動手能力的一種提高,增強了自己實踐能力。

通過這次課程設計使我明白了自己知識還比較欠缺,只是學習書本知識還是遠遠不夠的,自己不會的東西還有太多,學習需要自己長期的積累,在以後的學習、工作中都應該不斷的學習,將課本的理論知識與生活中的實踐知識相結合,不斷提高自己文化知識和實踐能力。

java課程設計總結 篇二

(一)java須知與必備知識:

語言與C 語言有許多相似點,但又有很大的區別。

Java 源程序主要有 部分組成:package語句(用來定義程序 所屬的包,放在程序的最前面,可省略)、import 語句(用 來引入其它包中的類,放在類定義之前)、類(class 是定義 類的關鍵字,類是整個源程序的核心部分)、方法(每個 java 程序只允許有一個mai主方法)、語句(語句有復值語句、調用方法語句和對象定義語句等,每條語句佔一行,以分號 結束) 標識符、註釋與C語言相同。

變量、main主方法語句和方法及對象的首字母小寫。

但在C#中Main主方法都是大寫的

(二)java面向對象(OOP)(類與對象,繼承抽象類與 接口) OOP的三大特性:在OOP 中,現實世界的所有事物都 成爲對象。

(1)封裝:將對象的數據和方法結合,由方法將對象的數據實現,並實現對象的數據隱藏。

(2)繼承:子類繼承父類的變量和方法,實現代碼的重用。

具有傳遞性。

(3)多態:對外一個接口,內部多種實現。

使程序具有可擴展性,可維護性。

對象:是對類的具體實現,可以說是個實例。

在使用類之前必須先定義再聲明並創建對象。

[類的修飾符]class類名[extends 父類][implements 接口]{ 對象名=new類名;//創建對象 (1)類體:包括類成員變量的聲明、構造方法和成員方法的聲明與定義。

(3)方法重載:允許在一個類的定義中,多個方法使用相同的方法名稱,但是不同的參數。

方法的重載也是實現多 態性的一種形式。

this.(該類自己)。

(4)構造方法:一般情況默認爲不帶參數,並且方法體爲空。

但有其它構造方法時必須在類中先聲明。

構造方法很 特殊:名稱必須與類名相同,且不能有返回值,更不能直接 調用該方法,必須通過new 來調用它。

(7)類的繼承:java類的繼承是單繼承,不能有多繼承。

通過 extends 來實現繼承。

被繼承的類叫父類,繼承父類的 類叫子類。

創建子類的格式:class子類名 extends

(8)extends關鍵字:定義的類中指出父類,默認的父類 都是object

(9)super關鍵字:指向它所在類的父類。

用來引用父類 中的成員方法或成員變量。

調用父類中的方法。

Super表示調用父類的構造方法,和this 一樣必須放在第一行,this 用於調用本類的構造方法。

如果沒有定義構造方法,就 會調用父類的無參構造方法,即super

(10)子類對象的創建與實例化步驟:分配對象所需的空間、繼承並初始化、繼承並調用構造方法。

(11)方法重寫:子類中父類成員的隱藏,當變量名相同時,子類成員的變量會隱藏父類成員變量。

當子類的方法與 父類具有相同的名字、參數、類型的返回值時,子類重寫了 父類的方法,父類中的方法被隱藏起來。

子類可以改寫父類 所實現的功能,但子類中重寫的方法必須與父類的方法有一 樣的返回值、方法名、以及參數。

注意的是重寫時訪問修飾 符不能變小,即訪問權限不能縮小,可以擴大或與其相等。

(12)多態:指的是一個對象的行爲方式可以在子類中使用,子類的對象繼承了父類的對象,是從一個父類派生的許 多子類都可以有相同的類型,將一種子類對象引用轉換成父 類對象的引用。

父類對象的調用可以在子類對象中實現。

(13)接口:java中的接口是一種特殊的抽象類,是若干完成某一特定功能的沒有方法體的方法(抽象方法)和常量的集合 C:接口並不屬於繼承結構,它實際與繼承無關,所以無關的類也可以實現同一個接口。

D:抽象類:包含了抽象方法的類叫抽象類。

如果一個類中包含了一個或多個抽象方法,類就必須指定成 abstract(抽 抽象類的定義:abstract類名{聲明成員變量 ;返回值類 方法名[參數];}abstract返回值類型方法名([參數]); E:接口(interface)它可以創建一個類:方法名、自變量以及返回值類型,不規定方法體。

一個接口中所有方法爲公 開、抽象的方法,所有的屬性都是公開、靜態、常量。

類必 須實現接口,否則變成了一個抽象類了。

接口與接口之間可 以定義繼承關係,並且接口間運行實現多繼承。

接口的定義:[public]interface接口名[extends 父接口 列表]{[public][static][final] 數據類型 成員變量名=常量; [public][abstract]返回值的數據類型方法名([參數]);} F:創建接口應使用interface關鍵字,不要用class,可以在 interface關鍵字前加上public 關鍵字(只有接口定義在同一 個名的文件內才行),或者用friendly“友好類”。

G:implements(實現)關鍵字可以生產與一個特定的接口(或一組接口)相符的類。

注意的是:在java中不能實現多重繼承但可以同時實現 很多個接口。

Java 接口中定義的方法在不同的地方被實現, 可以具有完全不同的行爲。

(15)static關鍵字:用 static 聲明的成員變量爲靜態成 員變量,是該類的公用變量。

用 static 聲明的方法爲靜態方 法,調用時可以通過對象引用或類名(不用實例化)訪問靜 態成員。

(16)常量:是一種標示符,值是不變的,在成序中只能被引用,不能被重新賦值,加入 final 關鍵字代表常量,加 入static 關鍵字代表類變量。

(17)覆蓋(overriding)也是java語言多態的技巧之一。

方法的覆蓋(也叫方法的重寫)應注意的是:A:子類中不能 覆蓋父類中的final 或static 成員。

B:類的繼承具有傳遞性, 即子類繼承父類的所有非私有成員,也繼承父類的父類直至 祖先所有的非私有成員。

覆蓋不適用於靜態方法。

(19)java中關鍵字final、finally、finalize 的各自用法: final修飾符(關鍵字)如果一個類被聲明爲final,意味着 他不能再派生出新的子類,不能作爲父類被繼承。

因此一個類不能既被聲明爲 abstract 的,又被聲明爲 final 量或方法聲明爲final,能確保他們在使用中不被改動。

被聲明爲 final 的變量必須在聲明時給定初值,而在以後的引用 中只能讀取,不可修改。

被聲明爲 final 的方法也同樣只能 使用,不能重載。

(final 可以修飾類、屬性、方法)。

Public final void print{}這樣的方法爲一個不可覆蓋的方法。

如果在父類中有 final 定義的方法,則在子類中繼承同一個 方法。

(final 並不涉及繼承) finally在異常處理時提供 finally 塊來執行所有清除操 作。

如果拋出一個異常,那麼相匹配的catch 子句就會執行, 然後控制就會進入finally 塊(如果有的話)。

finalize方法名。

Java 技術允許使用finalize方法在垃 圾收集器將對象從內存中清除出去之前做必要的清理工作。

這個方法是由垃圾收集器在確定這個對象沒有被引用時對 這個對象調用的。

他是在 Object 類中定義的,因此所有的 類都繼承了他。

子類覆蓋finalize方法以整理系統資源或執 行其他清理工作。

finalize方法是在垃圾收集器刪除對象之 前對這個對象調用的。

(三)java程序的數組與字符串 數組:是數據類型相同、變量數目一定的有序集合,數組是一種複合數 使用數組四步走:A:聲明數組:eg:int[] B:分配空間: eg: a=new Java中的數組下標同 語言一樣爲:下標不能越界,最大下標是長度減 去1,但在C語言中下標越界時程序不能編譯成功。

而在 java 中下標越界程序編譯能通過,在運行時則會出現程序異 常!這是與C 語言的不同。

Java數組聲明:數據元素類型 數組名[]; 或者 據元素類型[]數組 名;這也與C語言的數組聲明有所不同! java中字符串是當作對象來處理的,而 字符串連接方法:使用“+”連接