[ASP.net教程]C#與JAVA學習感悟
0 2015-10-06 23:00:07
C#與JAVA學習感悟
學完C#與JAVA,感覺收獲良多。C#與JAVA這兩門語言相似度很高(了解它們早期歷史的人可能知道為什么),也許很多人在學習JAVA(或C#)時會同時學習C#(或JAVA),因為它們太相似了。但在我看來先學習一種,精通后學另一種,這樣的效率會高一些,同樣是因為它們太相似了,許多概念都是相通的,但這些概念并不好理解和消化,如果同時學習兩種,只會讓你的頭腦更加的混亂。當然,如果你認為自己夠牛逼,也可以試試同時學習它們。下面是我的一些總結:
1.C#與JAVA這兩門語言是面向對象程序設計語言。它們將一切問題都看作一個個“對象”,并用面向對象的思想來解決問題。
2.學習這兩門語言(或其中一門)時,應當避免過分糾結一些代碼的具體實現(舉個簡單的例子:但你看到 Button 時,請就將它看作一個“按鈕”,你知道它有哪些屬性和方法以及如何通過這些屬性和方法去操作它就可以了,不要去想這些屬性和方法是如何實現的)
3.當你遇到一些新的概念時,不要在這上面過分糾結。你所需要做的是知道有這個概念以及它的含義而不去管它的代碼實現(這就是先從概念上理解并掌握C#與JAVA),之所以這樣做是因為在新接觸如“事件”這樣的概念時,很多人會熱衷于“事件”的代碼實現,這樣的人多認為只有通過代碼實現了“事件”才表示他“理解”了“事件”的含義。但其實能通過代碼實現“事件”就表示已經“掌握”了“事件”了,要知道 理解 和 掌握 還是有很大區別的。想要一開始就掌握新的概念是很困難的,先僅僅是理解會大大的提高效率。
4.在理解的基礎上深度挖掘,即能用代碼實現所有你理解了的概念,到了這個層次,你就算是真正的學會了C#與JAVA了。
以上幾點進一步總結其實就是“概念級”與“代碼級”的學習C#與JAVA。在初學時不要過多的在“代碼級別”花時間。當然學習的時候要分清主次,比如:
1.不要在基礎上花太多功夫。基礎就是指的 基本數據類型 , 基本語句(包括 順序,選擇,循環語句),輸入輸出,類的申明,繼承與多態性等C和C++中就已經掌握了的東西。在上面花很多時間不是明智的選擇。
2.在新概念上多花一點功夫。
3.引用與引用類型。也許你會慶幸沒有了指針,不用再為了指針而死一大堆腦細胞了。但如果你沒有完全掌握引用,那么它會讓你死更多的腦細胞。但其實引用的含義與C++中的引用沒有太多的變化,主要的是引用類型,會讓人難以理解。因為在C#或JAVA中,數據類型可分為兩類:值類型與引用類型。值類型指的是int,double,float,decimal等在申明時就分配內存的類型,而引用類型就是class 等通過 new 關鍵字動態分配內存的類型,與值類型不同,在申明一個引用類型的變量時并不會為其分配內存。(值類型也可以使用 new 進行動態分配內存,在C#中struct為值類型,class 為引用類型,而為什么要分值類型與引用類型是為因為取消了指針,而要實現原本指針所具有的功能)。值類型與引用類型的關系圖如下:
不難看出,引用類型與C++中的指針類似。所以看似取消了指針,實則是用另一種類型代替了罷了。
無論是學習C#還是JAVA,最簡單的辦法就是找一個項目的完整的代碼,抄一遍。當然,這個項目起碼帶有幾千行代碼(像俄羅斯方塊,掃雷等這樣的小游戲在網上找得到完整的源代碼,很適合學習用),抄的過程不能使用復制粘貼,并將所有出現的問題一一解決了的話,對你的學習會有無比巨大的好處。但如果要深入學習的話,在抄襲的過程中應當嘗試用自己的代碼替換原有的代碼,這樣可以讓你思考更多,學的更多。
本文網址:http://www.shaoqun.com/a/148422.html
*特別聲明:以上內容來自于網絡收集,著作權屬原作者所有,如有侵權,請聯系我們:admin@shaoqun.com。
C#
0