學(xué)習(xí)了一學(xué)期的Java課程,覺(jué)得是該總結(jié)自己的心得體會(huì)了。開(kāi)始學(xué)習(xí)任何一門(mén)課(包括java),興趣最重要。一直覺(jué)得自己在學(xué)計(jì)算機(jī)編程語(yǔ)言,學(xué)習(xí)了很多,但每門(mén)語(yǔ)言都停留在知識(shí)邊緣地帶,都沒(méi)深入到它們的精華部分,對(duì)它們的精華部分知之甚少,于是趁學(xué)校開(kāi)設(shè)這門(mén)課,并且有自己的老師講解,還有了上機(jī)的機(jī)會(huì),比自己自學(xué)省事多了,于是鼓足信心,開(kāi)始了漫長(zhǎng)的java征途。
還記得我編寫(xiě)的第一個(gè)經(jīng)典程序“hello Word”。從那時(shí)起我已開(kāi)始走進(jìn)Java的世界。當(dāng)時(shí)自己不是很理解為什么main方法一定要這樣來(lái)定義public static void main(String[] args),能不能不這樣寫(xiě)?問(wèn)了好多同學(xué),他們告訴我的答案是一樣的“java本身要求就是這樣子的”,但我自己不甘心,就進(jìn)行了下面的好多操作:把main改個(gè)名字運(yùn)行一下,看看報(bào)什么錯(cuò)誤,然后根據(jù)出錯(cuò)信息進(jìn)行分析;把main的public取掉,在試試看,報(bào)什么錯(cuò)誤;static去掉還能不能運(yùn)行;不知道m(xù)ain方法是否一定要傳一個(gè)String[]數(shù)組的,把String[]改掉,改成int[],或者String試試看;不知道是否必須寫(xiě)args參數(shù)名稱(chēng)的,也可以把a(bǔ)rgs改成別的名字,看看運(yùn)行結(jié)果如何。 結(jié)果把Hello World程序反復(fù)改了七八次,不斷運(yùn)行,分析運(yùn)行結(jié)果,最后就徹底明白為什么了main方法是這樣定義的了。接著在以后的學(xué)習(xí)中我也采用這樣的方法解決問(wèn)題,卻發(fā)現(xiàn)自己的速度比別人慢了好多,我就把自己的課余時(shí)間也分一部分給了java。因?yàn)榛A(chǔ)是最重要的,只有基礎(chǔ)牢固才有可能對(duì)后面的學(xué)習(xí)有更加深刻的認(rèn)識(shí)!
學(xué)習(xí)一門(mén)新的語(yǔ)言,參考書(shū)是離不開(kāi)的。聽(tīng)老師說(shuō)訂的教材偏難,不適合我們初學(xué)者,于是我在圖書(shū)館借了參考書(shū)(一本篇幅較短的入門(mén)書(shū)來(lái)學(xué)習(xí)那些最簡(jiǎn)單、最基本的東西,包括學(xué)習(xí)Java語(yǔ)法等)。同時(shí),對(duì)一個(gè)最簡(jiǎn)單的程序也應(yīng)該多去調(diào)試,多想想如果改動(dòng)一下會(huì)出現(xiàn)什么結(jié)果?為什么必須那樣寫(xiě)?多去想想這些問(wèn)題然后去操作,會(huì)讓你有更多的收獲。這樣反復(fù)地思考是很有用的。
在學(xué)習(xí)Java的語(yǔ)法時(shí),Java的語(yǔ)法是類(lèi)似c語(yǔ)言的,所以學(xué)習(xí)的比較輕松。唯一需要注意的是有幾個(gè)不容易搞清楚的關(guān)鍵字的用法,public,protected,private,static,什么時(shí)候用,為什么要用,怎么用,和同學(xué)一起討論了好久才得以解決。在學(xué)習(xí)Java的面向?qū)ο蟮木幊陶Z(yǔ)言的特性。比如繼承,構(gòu)造器,抽象類(lèi),接口,方法的多態(tài),重載,覆蓋,Java的異常處理機(jī)制。對(duì)于一個(gè)沒(méi)有面向?qū)ο笳Z(yǔ)言背景的人來(lái)說(shuō),我覺(jué)得這個(gè)過(guò)程需要花很長(zhǎng)很長(zhǎng)時(shí)間,因?yàn)閷W(xué)習(xí)Java之前沒(méi)有C++的經(jīng)驗(yàn),只有C語(yǔ)言的經(jīng)驗(yàn),花了很長(zhǎng)時(shí)間,才徹底把這些概念都搞清楚,把書(shū)上面的例子反復(fù)的揣摩,修改,嘗試,把那幾章內(nèi)容反復(fù)的看過(guò)來(lái),看過(guò)去,看了很多遍,才徹底領(lǐng)悟了。開(kāi)始熟悉Java的類(lèi)庫(kù)?;A(chǔ)類(lèi)庫(kù)里面的類(lèi)非常非常多。據(jù)說(shuō)有3000多個(gè)。但是我真正使用的只有幾個(gè),比如說(shuō) java.io.*; java.util.*;;等。
此外,我對(duì)于static,public,private等等一開(kāi)始都不是很懂,都是把書(shū)上面的例子運(yùn)行成功,然后就開(kāi)始破壞它,不斷的根據(jù)自己心里面的疑問(wèn)來(lái)重新改寫(xiě)程序,看看能不能運(yùn)行,運(yùn)行出來(lái)是個(gè)什么樣子,是否可以得到預(yù)期的結(jié)果。這樣雖然比較費(fèi)時(shí)間,不過(guò)一個(gè)例子程序這樣反復(fù)破壞幾次之后。我就對(duì)這個(gè)相關(guān)的知識(shí)徹底學(xué)通了。有時(shí)候甚至故意寫(xiě)一些錯(cuò)誤的代碼來(lái)運(yùn)行,看看能否得到預(yù)期的運(yùn)行錯(cuò)誤。這樣對(duì)于編程的掌握是及其深刻的。
在學(xué)習(xí)Java的過(guò)程中我得出這樣的結(jié)論:
1.學(xué)習(xí)中,要養(yǎng)成良好的習(xí)慣(寫(xiě)括號(hào)時(shí)要成對(duì),字母大小寫(xiě)要區(qū)分,單詞拼寫(xiě)要準(zhǔn)確)。
2.在學(xué)習(xí)的過(guò)程中,最好不是僅僅停留在java表層,不是抄書(shū)上的例子運(yùn)行出結(jié)果就可以。要注意,即便對(duì)一個(gè)簡(jiǎn)單的例子也要有耐心去琢磨、調(diào)試、改動(dòng)。
3.在學(xué)習(xí)的過(guò)程中一定要?jiǎng)邮肿?、試著?xiě)代碼,而不是抱一本書(shū)看看就行。很多東西和體會(huì)必須自己動(dòng)手才能真正屬于自己。
4. 在 Java 的學(xué)習(xí)過(guò)程中,可能會(huì)遇到形形色色的問(wèn)題不容易解決,應(yīng)多去專(zhuān)業(yè)論壇了解相關(guān)的知識(shí),書(shū)本上的知識(shí)有限。要會(huì)從網(wǎng)上搜索有用的信息 加以整理,促進(jìn)學(xué)習(xí)的深入和知識(shí)水平的提高。
看了好多網(wǎng)上課程,說(shuō)學(xué)到一定程度要嘗試著自己做東西,但覺(jué)得自己僅僅經(jīng)過(guò)一學(xué)期的學(xué)習(xí),還遠(yuǎn)遠(yuǎn)不夠,希望自己在以后學(xué)習(xí)中繼續(xù)努力,能夠真真正正擁有一門(mén)編程語(yǔ)言,對(duì)自己今后的發(fā)展起到作用。在云和數(shù)據(jù)學(xué)習(xí)java語(yǔ)言的同時(shí),也讓我學(xué)會(huì)了如何來(lái)發(fā)現(xiàn)問(wèn)題,如何解決問(wèn)題,怎樣有效的學(xué)習(xí)等等,相信會(huì)對(duì)我一生都有幫助。