暑期java(面向對象設計)學習第一階段總結

0.前言

本次部落格針對的是暑假學習java(面向對象設計)的前三次作業的小結,第一次作業:7-1 對三個整數排序 7-2

對四個整數排序 7-3 對十個整數進行排序 7-4 對多個整數進行排序

第二次作業:7-1 判斷兩個數組是否完全相同 7-2 判斷兩個數組是否相同 7-3判斷數組中是否存在四個連續相等的數 7-4合併兩個有序數組為新的有序數組 7-5 對整型數據排序

第三次作業:7-1 逆序輸出英文句子 7-2 用類解一元二次方程式 7-3 創建賬戶類Account

1、作業過程總結

總結三次作業所訓練的內容

第一次作業訓練循環和升序排序演算法的使用,題目難度循序漸進;第二次作業開始訓練判斷兩個一維數組是否(完全)相同的演算法和用類寫升序排序演算法的方法的使用,判斷兩個一維數組是否完全相同的題目,難度是循序漸進的,拓展了我們對比較兩個一維數組的方式方法的知識面。同時,相較於第一次作業,這次作業題目難度有了一定程度的提高。第三次作業訓練類的定義以及對象的使用以及使用正則表達式來對輸入的數據進行合法性校驗,相比前面兩次作業,第三次作業算是正式進入了面向對象編程,需要創建多個類,創建類的對象,通過對象來調用類里的公用方法,題目難度循序漸進。

②如何通過作業逐步從面向過程過渡到面向對象

我認為在做作業的過程,可以發覺自己使用的面向對象語言的語法和面向過程語言的語法有很大的不同,可以練習編寫幾個面向對象語言的程式來實現這個過渡。

③作業過程中遇到的問題及解決方法

1、在第一次作業過程當中,所遇到的問題有因為沒有看清題目的要求,而導致PTA提交時程式報格式錯誤。

 

 

2還有對幾種常見的排序演算法掌握的不夠熟練,通過在課本中查找了有關排序演算法的章節解決此問題。

3、因為之前沒怎麼花時間學習正則表達式,第三次作業又涉及到了正則表達式的使用,來對輸入的數據進行合法性校驗,所以花了一些時間來惡補了正則表達式的使用,已經能夠使用正則表達式來對輸入的數據進行合法性校驗。

④每次作業花費的時間比例

第一次作業做完做對大概花費了2個小時,後來又嘗試了其他的升序排序演算法提交也花費了不少時間,加上自己課外複習課本所用的時間一周學習的總時間是超過20個小時的。第二次作業大概花費了4個小時,一周學習的總是超過20個小時。第三次作業花費時間是超過10個小時的,做到92分花了差不多5個小時,因為第一題的兩個測試點沒過,自己又花費了好幾個小時楞是過不了。

⑤對編程過程的嚴謹性(軟體測試)的認識及教訓

在編程前一定要把題目的要求看清,可能因為是自己沒看清題目的要求而導致程式報錯(比如我第一作業過程中就犯了這個錯誤),還有就是審題後腦子裡做好需求分析。軟體測試要掌握熟練,就是因為自己沒掌握好軟體測試,才導致第三次作業的第一題的兩個測試點沒過,要是很熟練地使用軟體測試,就不會拖到很晚去使用,而且還沒做好。

 

 

2.OO設計心得

①面向過程與面向對象的比較

面向對象的語法相對於面向過程的語法,要簡單一些,
②面向對象設計的基本原則理解

封裝性,多態性等。

③OO編程思維的理解

OO編程思維的理解就是先要創建類,使用類對象調用類里的方法以及寫方法來解決問題。

3.測試的理解與實踐

①測試對於編碼品質的重要性

1、測試能夠方便我們發現錯誤,並修改錯誤

2、測試能夠提高編程品質,在eclipse上測試成功後,再到PTA上提交會提高準確率。
②假如讓你設計測試用例,你會如何做

假如讓我設計測試用例,我會設計一個輸入正常的、一個輸入異常的、一個簡單的正常測試用例和一個複雜的測試用例。
4.課程收穫
總結這四周來在OO方面的教訓及收穫

1、加強我對循環的使用技巧;

2、加強了對一維數組的使用技巧;

3、加強了對幾種常見的排序演算法的使用技巧;

4、加強了對類的定義、創建類對象以及通過類對象來調用類里的方法的使用技巧;

5、學會了正則表達式的使用(使用正則表達式對輸入的數據進行合法性校驗)。

6、教訓就是軟體測試掌握的不熟練。
5.對課程的建議

這三次作業下來,自己學到的東西挺多的,相比寒假在家學習效果上有了很大的進步,也是得益於老師出的題目難度循序漸進,有淺入深,給了我們自信,相信自己堅持學下去一定能學好的。課程建議呢,還是希望老師出的題目難度能夠循序漸進,由淺入深,題量可以稍微增加一兩個。