本次博客主要是總結近幾次作業,交流一下自己的感受。
本次作業主要是對近幾次Java課程的鞏固作業,第一次作業主要是一些基礎的題目,包括選擇循環等一些基本語句,其目的在于掌握java一些基本知識,感受出Java與其他語言有啥區別。第二次作業在第一次作業的基礎上增加了一些難度,不再是一些簡單的選擇循環語句,其中包括了很多的嵌套語句,邏輯上的一些思考,特別是在求后n天等類似題目,這類題目情況較多,需要一一理清。第三次作業就開始有點面向對象編程的影子了,類的概念灌輸的非常透徹,特別到后面三題,更是類與類相互調用影響。
前面一點的作業主要就是集中與解決一個實際問題,其過程非常清晰明了,被稱為面向過程編程,到后面作業主要集中于解決一類問題,把一類東西基本方法給出,再利用這些基本的類實例化向外擴展,這樣解決問題會更加的有針對性,同時也使編程思路更加清晰。
這幾次作業在自己好好反省一下,其實發現自己還是存在一些問題的。首先說第一次作業,第一次作業有一個計算稅率的問題,要求編一個計算相關稅的程序,該題的信息量很大,特別是稅率的信息量,在不同申報類型和不同金額稅率都不一樣,這題思路很清晰,就是通過選擇判斷語句來進行編程,但是信息量巨大使得在具體編程的過程中,數據很容易輸錯,而且如果通過復制也很容易多一個數字或者少一個數字,我剛開是在具體編程中算是頭比較鐵,直接強行輸入,但是在提交過程中,一直出現錯誤,再回過頭去改代碼,發現很難下手改。在反省這道題的時候,自己想的比較遠,覺得自己的一些編程習慣非常不好,這題其實如果把這幾個稅率分別用字母代替,然后在不同申報類型中在對其進行賦值,這樣自己就只需要輸入一次,而且如果自己提交錯誤的話,還可以去有針對性的修改,此次這道題目算是讓我對自己在編程的一些規范性上有了一些新的認識,這其實對自己以后的職業生涯還是有很大的影響的。然后是第一次作業三角形那一題,這一題其實知識點不難,但是其邏輯上是有一些難度的,要判斷的三角形類型有很多,需要理清其中的邏輯,自己在做這道題的時候也是卡了一下,這其實反映出自己的邏輯不清晰,邏輯在計算機中其實是很重要的,這提醒了自己以后要在邏輯上進行一些鍛煉。第二次作業有關日期的題目有很多,這其實主要是要去使用Java數組,把具體信息輸入進去,再一次判斷,這其實沒有什么問題。這次主要的問題我覺得是在于第三次作業,第三次作業,我遇到的主要問題就是超時問題,做pta這么久,第一次意識到超時這個問題,以前在做c語言作業的時候,每次把題目很快的寫完了,也沒出現什么超時問題,這次超時問題使得自己在算法上面進行了深刻的思考,覺得以后在做題目的時候,不能用那種直接的思維去解決問題,要適當的去思考一下有沒有更快捷的方法解決問題。
此次三個作業,前兩次作業完成基本上在一個多小時左右,主要第三次作業因為超時問題花費許多的時間。
此次作業是我覺得自己在編程嚴謹性上還遠遠不夠,有很多要去學習的地方。
我覺的面向對象編程比面向過程編程思維更加清晰,適用的范圍廣,且能解決問題的能力比面向過程編程強大太多,但是面向過程編程也有其自己的有點所在,面向過程編程使得自己對一個程序細節更加了解,但在代碼修改上確實存在一些難度。
面向對象編程其實要更專注于一類東西上方面,在編程的時候思維不能局限于自己只是去解決一個實際問題,而是將其拓展開來,編程的時候思維也要更加抽象,具有大局觀,忽略一些細節。
Java測試層面也給我很大的感想,測試無疑使得自己的代碼更加完善健壯,但是怎么去設計一個測試的program確實是要去自己認真思考,怎么才能讓自己的一些點都被測試到,而不是那些隱患仍然存在,而且在選擇測試數據的時候,自己的想法也要更加刁鉆一點。