更新時間:2018-03-22 20:14:08 來源:動力節點 瀏覽4075次
1.有必要知道什么是程序,什么是算法。你知道它是什么,便不會學得懵懵懂懂。學習Java編程跟學習其他編程語言一樣,都需要明白這是一種解決問題的語言表達形式。通過這種計算機語言描述出解決問題的方式方法,以便于在計算機上實現它。
就比如,你希望有一個可以計時的秒表,我就用編程語言設計一個秒表軟件實現你的需求。實現需求的過程就是用編程語言編寫程序的過程,解決這個需求的方法也叫算法,也就是解決問題的方法。算法是任何一個編程語言的核心。了解了這個,就已經走上了學習編程的正路。
2.編程與生活息息相關,兩者要始終保持密切聯系。
如何準確理解程序呢?
舉個例子,我要去買飯。買到飯是我想要的結果,而解決這個問題的過程我們需要幾個步驟。就簡單的步驟來說:
第一步想要找到飯館,第二步挑選自己想要的飯菜,第三步付費結賬。
這是簡單來說,如果具體到每個人的生活環境,解決這給問題的步驟還要多一些。
剛才那三個步驟是用文字表述的程序,也就是自然語言,這也是程序。程序是解決問題的方法步驟,解決買飯問題的步驟就是買飯的程序。
如果用計算機能理解的語言表述出來,那個程序變身為計算機語言程序。程序還有編程是并不復雜的概念,也沒有太高大上到你無法理解。再重復一遍,程序就是解決問題的方法步驟或者既定方式。編程就是將解決問題的方法步驟寫出來。
而計算機編程便是用計算機能理解的語言將其方法步驟寫出來。看似編程是高大上,冷抽傲的,其實它是很貼地氣的,處處與生活接軌。
3.編程語言有很多種,選擇Java是只選擇了其中一種表述和實現方式。
設定編程語言是因為計算機是一個僵硬的東西,自然語言是它所不能理解的,故而需要設定一種它可以理解的語言,讓它聽懂你說的指令,它才能為你服務。理解了何為計算機程序和編程,下面就具體到不同種類的編程語言的選擇。
不同種類的編程語言就類似于現實中的各國家的語言,英語,法語,還有我們最熟悉的漢語,同樣的問題,會有不同形式的表現。漢語中描述自己是“我”,英語中是“I”,其他語言中又是另外的表述。不同的編程語言的區別也基本類似。不同語言的區別主要在于對于算法的表述方式不同,程序語言的適用范圍不同。因為表述方式和適用范圍的問題,諸多編程語言便可以區分開來,使用時也根據這兩點進行選擇。
學習時有很多語言,如C、C++、Java,這三種編程語言是因為不同的需求而研發的。Java與前兩者相比的優勢在于可移植性強,對于系統和硬件要求不高。了解了這個你就大體知道Java的特性了。其實只要有Java虛擬機,它幾乎可以在任何機器上運行。而c和c++是沒有這種特性的。也就是只需要安裝一個Java虛擬機,電腦上可以運行Java程序,手機上也可以,平板上也可以,對系統和硬件類型沒有硬性要求。
這種特性就是Java得以推廣的重要原因,它的適應性太強了。說這些是讓大家對于Java有一定更深的理解。
Java和C語言有一定淵源,團和C++是很像的,學過C和C++的再學習Java比較簡單一些,沒有這些學習經歷也不用擔心,只需要足夠的練習量便可解決這一問題。
4.練習的頻率要遠大于看知識點的頻率;面授為主,書本教材為輔,象一些零散的視頻可能會解決你的部分難點與困惑,但對系統學習是非常不利的,就如碎片化的會讓人走得越來越遠。
多數人是選擇書本較多,書本攜帶方便,便于記錄重點和心得。其實就實效性而言,我倒是建議參加一些專業機構的面授,如這個寒假百名同學選擇加入礪鋒眾創空間系統學習。有些同學會選擇書本或者學校的教育,這里有些小的弊端可以和大家分享一下:
首先,書本教材的操作可視化是個問題,就算有圖片輔助,也無法完全展現操作的全貌。
其次,教材的學術性太強。為了保證教材的知識質量和高學術性,往往很多章節包含了太多資料和知識點,學習這些章節時往往會被各種密集的要求和解析所弄暈。
就比如,教材中開篇對于編程發展的闡述,如果仔細去看會發現涉及到太多歷史事件,人物,公司等等……
再者,教材中的表述語言書面化太強。教材中缺乏大白話,一句話可以簡而言之的,往往為了追求準確的定義而使用書面化的嚴謹的學術語言,看著枯燥,學著也枯燥。
而視頻教程由于過于分散,對初學者非常不利。面授的過程非常好,效率也高,強調實踐,互動性強一些,教授過程多數是在編寫中進行,很多進行很多調節操作,并且團隊合作。
當然,書本教材和視頻中的內容豐富作為一種知識補充是很好的,學的時候想要看更仔細的一些解釋就可以翻看教材和查一些視頻了。
教材選擇方面,國內的用得較多的是清華大學出版社出版的《Java語言與面向對象程序設計》,而國外的經典教材《Java編程思想》,這個需要有一定學習經歷之后才可以看,建議開始不要買這個教材學習,而且里面有很多例子是以C,C++做實例比較的,沒有C類語言的學習,估計也難以看懂。
關于編程語言的發展,只要了解一下就好,教材中的學術性總結有時太多,妨礙編程的學習。編程還是要從實踐性強的方面入手的。
具體不贅言了,源遠流長的東西講太多實際上是舍本逐末,學到技能是根本。
5.在學習Java過程中還需要巧妙的理解方法和思維轉換。
比如“變量”這一概念的理解,就可以對應成房間或者箱子,編程中聲明一個變量就是開一個房間,變量名是房間名,變量類型是房間類型,賦值給變量就是房間里住了一個人。由此你也可以知道,為什么叫變量呢,因為這個“房間”里可以反復進出很多“人”。
很多人剛碰觸編程,對于編程那些一行行的字母感到恐懼,其實編程的模式再簡單不過,幾乎是固定的模式。
舉個簡單例子:
publicclassTest{
publicstaticvoidmain(String[]args){
System.out.print("我想學Java!");
}
}
這個程序運行后是輸出“我想學Java!”這句話。
開頭“publicclassTest{}”是一個Java程序的框架,相當于蓋樓時的樓架子,素描時的輪廓,澆筑機械零件時的模具。
然后程序框架之內的大括號里是更進一步的內容。
“publicstaticvoidmain(String[]args){}”這是這段程序的入口,類似于蓋樓房后的入口,素描后的第一筆細描等。總之是框架之后,設定的一個開始的位置。程序從這個地方開始。
程序入口大括號內的內容就是具體的指令和運行內容。
System.out.print("我想學Java!");
程序運行后就會輸出內容:我想學Java!
從這個Java程序就可以看出很多Java程序的共性,他們都會有Java程序框架,框架之內都會有一個Java程序入口。這就是一個固定的模式,記住它,適當的理解就可以了。巧妙的理解和思維轉換的關鍵也在于之前所說的和生活聯系,和你已有的經驗聯系起來。
因為程序本就是從生活而來。
6.保證練習頻率是形成技能的必要條件。學習的過程中,練習的量要大于你看教程的量。有時候一個知識點你要反復練習幾十遍上百遍,這樣才能有扎實的效果。基本上最后的原則就是練習頻率要大于學知識學理論的頻率。
個人經驗起碼要達到幾十比一。如果不嫌枯燥可以變換形式練習,看一章節練習一百次的頻率。
學習編程最后的效果是為了自己能夠獨立編程,進入企業后可以解決相應問題。如果你每個知識點僅僅是練習幾次,效果是你懂得它講了什么;通篇學下來你都是練了幾遍而已,也僅僅是你大體懂了什么,而不是會了什么。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習