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