初學java之心得體會


0.前言

從學習java以來,已經進行過三次pta作業的訓練。雖然每次作業的完成都遇到了些許困難和障礙,不是一帆風順的,但通過自己的摸索,實踐,總能完成作業要求,每次作業之后都有不同的收獲。這些新的收獲告訴我,實踐出真知,動手會學習到更多東西。總結前面的三次作業,我發現面向對象程序設計這種語言不再那么神秘,我相信馬上就能看到揭開神秘面紗后的的它。

 

1.作業過程總結

(1).總結三次作業的知識迭代關系

第一次作業是練習java類型的使用,以及一些簡單的語法。主要目的是讓我們熟練運用java的基本操作,為后面的練習打下堅實基礎。通過第一次作業,主要掌握了java類型的使用,及輸入輸出操作,起初輸入操作是不太熟悉的。第二次作業比第一次作業難度肯定加大了,最直觀的感受就是代碼量增多了,題型也是求解某一類問題,開始要求用方法,而不是所有東西都沒有章法地寫在main里面。方法的使用是java的一大特色,所以必須要求掌握。第三次作業顯然難度又加大了,作業的難度系數總是在上升狀態的,這樣才能得到有效的提高。這次作業的要求是另寫一個類並實現多種方法。確實難住我了,不過通過摸索還是實現了。類的使用是java入門,因為java程序就是用類組成的。這三次作業是有java知識迭代關系的:第一次作業:掌握java的基本語法及類型,以及輸入輸出操作——>第二次作業:掌握java的方法使用,以及稍復雜的計算——>第三次作業:掌握java的類的使用及多種方法的使用,用new操作來創建一個類的對象,從而用對象去調用類的功能方法。這些都是一次一次遞進的,每次作業完成后都會離真正的java更近一步,也能慢慢體會面向對象程序設計的特點。

(2).如何通過作業逐步從面向過程過渡到面向對象

作業通過一些具體要求,讓我們學習java的用法。第一次作業,就從輸入輸出感受到了面向過程與面向對象的差別,第二次作業就學習到了方法的用法,第三次作業,就了解到了java里的類與方法,這些都是作業提供的從面向過程到面向對象的過渡。

(3).作業過程中遇到的問題及解決方法

問題1:作業一中的判斷三角形類型中的判斷等腰直角三角形測試點過不去

解決方法:試了很多組數據,發現有的數據與預想的不一樣,原來計算機有精度要求,而等腰直角三角形的兩直角邊都是無理數,不能輕易用勾股定理判斷,要用精度去規范判斷等腰直角三角形。

問題2:作業一中的統計最大數出現次數中的以0結束弄不好

解決方法:剛開始我是用while(輸入整型數並以輸入0為結束),結果程序出錯,后面換了一種思路,把輸入整型並以輸入0結束放在while里面就可以了。

問題3:作業二中求二元一次方程中根為0的時候輸出-0

解決方法:當根為0時,直接控制輸出0

問題4:作業二中的日期類設計中指定的類的方法返回類的類型,不知道怎么返回。

解決方法:想了很久,試着各種方法,突然就試成功了。原來返回類就是用這個類去new一個對象,把改變的參數傳出去,返回這個類的對象。

問題5:作業二中的日期類設計中指定的類的方法返回String的類型

解決方法:也是試出來的,實踐出真知,直接返回年月日就可以了。

(4).每次作業花費的時間比例

大概是1:2:3,隨着作業難度的加大,花的時間也越多。

(5).對編程過程的嚴謹性的認識及教訓

java編程是極其嚴謹的,不容一絲差錯,寧可犧牲其靈活性也要保證其穩定性。有一次我在java編譯器里將類的名字命名為Test,結果一直報錯,而程序又找不出錯誤,想破腦袋也想不明白,后來請教別人,被某位碰到過相似問題的仁兄一語道破,原來java類里面已經隱含定義了Test類,我們又定義一次會讓編譯器錯亂,最后我把類名改了,果然可以運行了。真是一招不慎,滿盤皆輸。失之毫厘,差之千里,任何標點符號都不能出錯。

 

2.OO設計心得

(1).面向過程與面向對象的比較

面向過程與面向對象有什么區別,起初我是不太清楚的。通過這三次作業,我發現了不同之處。首先面向過程主要實現是用函數實現,函數之間沒有限制,可以相互調用,學了java以后,就感覺這種函數的調用比較亂,沒有章法。而面向對象就不同了,面向對象的主要實現是類,其中類里面又包含方法和屬性,有一個比較清晰的架構,而類的使用是通過對象的,不是直接可以使用的,這就與面向過程有明顯區別。面向對象的類是可以有多個對象的,通過對象來使用類里的各種方法和屬性,就與我們現實操作環境比較接近,因為我們現實生活中也是如此,比如都是人,但是人與人有不同的特性,不能稱之為同一個對象。java里就可以使用對象來解決個體的差異。這些就是面向過程與面向對象我的理解。

(2).面向對象設計的基本原則理解

java是由類組成的,類又由方法及屬性構成,面向對象是指,java的一切操作都通過對象來操作,只有對象可以使用類的方法及屬性,這就是面向對象的思想,不同的對象可以使用不同的它們自己所需的方法及屬性,就像我們人一樣,各取所需。

(3).OO編程思維的理解

由對象控制操作,面向對象程序設計,類里面定義方法屬性,對象來調用。java的特點:封裝,繼承,多態。

 

3.測試的理解與實踐

(1).測試對於編碼質量的重要性

測試對於java程序就像醫生對於人一樣,檢查哪里有漏洞,這個程序是否符合設計要求,達到預期效果,程序的健壯性如何。

(2).假如讓你設計測試用例,你會如何做

我不會泛濫測試,而是先觀察程序,覺得程序在哪個地方有漏洞,進而測試該點,讓程序測試邊界及特殊界限,極限測試,和功能測試,讓程序盡可能地健壯。

 

4.課程收獲

通過這三次的作業訓練,覺得自己算是知道java這種面向對象程序語言是怎么一回事了,知道怎么去寫java程序了,知道java的大體構造了。

 

5.對課程的建議

希望可以學習到更多的java知識。

 

6.接下來的學習計划

繼續完成java作業,盡可能拓展java學習,可以找些題目來練習,自己多動手練習,彌補不足。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM