-
1 # iT例史
-
2 # 馨滿溢足的家
現在將我的自學心得與java初學者,和正在自學的童鞋分享,希望你們能少走彎路,早日學成,找份滿意的工作。
自學需要良好的心態和毅力首先要搞清楚自己為什麼要自學程式設計,我是上大學後才接觸計算機,我最初的想法是學好程式設計可以做一個自己的網站,後來發現做個網站實在是很容易的,學好java程式設計可以有高薪的收入,而且以後的工作可以不用到處跑,可以天天坐辦公室,這才是我向往的工作,於是我下定決心要自學java。
自學最重要的是心態和毅力,如果毅力不夠堅定自學很難堅持下來,自學是孤獨寂寞的,同時也是快樂的。也許你身邊沒有人在自學java程式設計,所以你是寂寞的,但是當你調通了一個程式,或者寫出一點小玩意兒,他們也不能理解,那種收穫的喜悅也只有自己能夠體會。
好的方法提高自學效率自學是漫長的艱難的,之前看到市面上有一些書,什麼21天精通java,對於這樣的書,我只能 呵呵。學習需要循序漸進,沒有捷徑,只能一步一個腳印,我是從大二開始自學java的一直到大四畢業。自學會遇到這樣那樣的問題沒有人來幫我解答,網路是個非常好的工具,當我們遇到問題時,我們要藉助網路資源,你遇到的問題別人也一定遇到過。我們可以在網上找解決方案,也可以加一些程式設計群去詢問,也可以在一些論壇發帖子諮詢,這些都是解決方案。好了,如果以上的你都能做到,那麼你可以開始自學java程式設計了,如果做不到筆者奉勸你還是不要開始,因為如果堅持不下來最終會功虧一簣,還會耽誤你很多的時間。言歸正傳,自學我選擇的是影片和書本。
現在網路上的影片大把,我當時是看的馬士兵的javase教程,感覺還不錯,書我在圖書館借了好幾本,以計算機專業的java程式設計教材為主,具體的書名稱我忘記了,封面是綠色的。大家不要下好幾套影片,然後這個人的看看,那個人的看看,這樣很不好,也會讓你厭倦,最好選擇一套影片就可以了,堅持看下來。一般一個知識點我會看三遍,當然如果領悟能力強的同學不用看三遍。第一遍,認認真真的看,第二遍邊看邊對著敲程式碼,看完第二遍之後,自己試著多執行,感覺差不多了,然後自己在不借助任何資料的情況下,完全自己敲一遍,最後再看第三遍回味理解一下。自學一定要多動手,這個非常非常重要。
選擇好的程式設計工具關於編寫工具,有的童鞋一開始就用eclipse等一些先進的工具來進行程式碼編寫,筆者非常不推薦這種做法,像eclipse這種IDE工具,是為了在工作中提高工作效率的。對於初學者最好不要用這些個工具,筆者推薦大家用UltraEdit或者EditPlus 3 或者Notepad++ 這種文字編輯器來寫java程式碼,用這些工具寫會讓你更加牢固的記住java語法。等你用這些文字工具能寫程式了,你再用eclipse寫程式碼,你就能體會到什麼叫飛一般的感覺。關於學習的順序首先是javase:基礎語法、遞迴、面向物件、異常處理、陣列、常用類、IO 、執行緒、網路程式設計基本的章節順序就是這樣的,對於圖形介面那部分,完全可以拋棄,因為圖形介面不是java的強項,現在也極少數的公司用圖形介面來做應用。前面的部分,也就是除了 執行緒、網路程式設計 這2塊的都要學好。是不是執行緒、網路程式設計就不重要呢,錯,這2塊很重要,但是目前的javaEE專案用的比較少,應該說對於一個剛工作的人來說,很少會接觸到這2塊。
因為這2塊的內容相對比較難一點,所以在開始學的時候,可以先學一下,如果不是很理解也不打緊,等以後慢慢的再自己去摸索,這2塊對於一個初學者來說可以稍微放寬一點,但是不能不學,現在不學以後也一定要回頭補上的。學好了javaSE就是java基礎的一些東西之後,我們可以選擇做javaEE也就是web專案,也可以選擇做android手機應用。筆者是做javaEE的,所以就介紹下javaEE的學習。
有很多人在學完了javaSE之後就開始學習javaEE的框架了,什麼SSH總掛在嘴邊,其實你離這些框架還很遠。在學javaEE之前,請大家先學這幾個 html,css,js 。有的人估計又要笑了,我是做後臺的,學這些個東西沒啥用。其實做web的不會這些東西很可笑的,在以後的工作中,難免會遇到前後臺都要寫的,只寫後臺的很少,或者說剛出來的就讓你只寫後臺的很少。html,css 這些的編寫我也建議用UltraEdit或者EditPlus 3 或者Notepad++ 而不是dreamweaver 這類工具來寫,手寫html你會發現以後的相容問題會少很多,對於程式設計師來說html,css算不得程式語言,只是一些標籤而已,這些一個星期可以學精通。最後說說js,js其
實是比較深奧的,對於初學者,掌握基本的js操作就可以了,會基本的語法,能對dom元素進行熟練的操作,能做一些簡單的效果就可以了。
js的學習是個漫長的過程,在以後的學習和工作中再慢慢加強。建議先學好js再用下jquery這類框架的js,一開始上手就用jquery,原生態的js不會就用這些框架,感覺有有點那個啥了。html,css,js學完了,你就可以學習jsp了。可以用jsp做點小的應用,比如一個小小的留言板啊什麼的,在學jsp的時候要同時學習資料庫,筆者推薦學習mysql 簡單易用,而且目前很多公司都是用的mysql,像騰訊也是用mysql。等jsp學好了,就可以學習servlet了,servlet是重點,像現在的一些框架struts 這樣的框架都是基於servlet的。等servlet學好了,大家就可以用eclipse了。用eclipse進行專案開發了,這個時候你會發現很得心應手。
理論聯絡實際,多練習學了這麼久了也是要出成果的時候了,那
麼好吧,就用jsp+servlet+javabean+jdbc 寫個bbs論壇吧,如果你不借用別人的程式碼,完全自己寫的,當然遇到問題是可以藉助網路資源的,可以查資料,但是整個論壇的程式碼到資料庫設計要是自己完成的。等你bbs論壇寫好了,那麼恭喜你,你已經學的差不多了。為什麼要寫個bbs論壇,不要小看一個bbs論壇,涉及到的東西很多,比如對資料庫 基本的增刪改查操作,bbs不同的人是有不同的許可權的,這裡就涉及到許可權的問題,等等,做這個論壇是對已經學的內容的應用,也是一個複習的過程。等你把論壇做好了,那麼你對基礎的東西就已經八九不離十了,這個
時候在看看一些開源的框架 struts spring hibernate ibatis 等這些,你再學這些的時候,你會發現其實這些並不難。
這是原來的學習方法,最近看到很多人還在看,所以決定稍微加一些東西,避免初學者走彎路。
現在Spring系列框架比較多,學過J2SE和J2EE 基礎後,如果想繼續學JaveWeb方面的知識,推薦學習SpringMVC、SpringBoot、SpringData。使用起來會更加的便捷。
-
3 # IT資訊i
1. 學習語言基礎
很顯然,掌握語言基礎是第一步。如果你不瞭解基礎知識,那麼你就不知道自己是否做錯了或者接下來該怎麼做。當然,這並不是要求你把所有的基礎知識都記住,比如所有的 Java關鍵字、核心概念或者基本編碼技術等。我希望你能夠閱讀以下連結的內容,即使在初次閱讀時並不能理解全部內容,也希望你把全部內容看一遍。
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/上面兩個連結不是介紹 Java 基礎知識的唯一連結。你可以透過谷歌搜尋出很多類似的連結。
當你第一次閱讀完成上面兩個連結的內容時,請再次重新閱讀,不要漏掉任何部分。這一次,之前無法理解的內容可能就能夠理解了,你能夠自己將各種概念聯絡起來。如果有些內容你仍然無法理解,請繼續重複該步驟,再次閱讀,直到你真正掌握核心概念。不要擔心理解的對錯,只要把它們聯絡起來就好。記得做好筆記,因為筆記能夠記錄你的 Java 學習曲線。
2. 開始編寫一些小程式如果你確信自己對大多數的基礎知識和概念足夠熟悉,並且能夠以某種方式將它們聯絡起來,那麼你就可以進行下一步了,你可以開始嘗試編寫一些非常基本的 Java 程式,比如列印 hello world、實現簡單的加減法,等等。
當你開始動手編寫程式時,請記住,前幾個程式對你來說可能會困難重重。但是一旦挺過去,接下來即使這些問題再次出現,你也能輕鬆解決。
你可能會遇到很多困難,起初你可能都無法獨自完成 hello world 程式並使其正確執行。這時,你應當毫不猶豫開啟谷歌然後搜尋類似的程式。不要簡單複雜這些程式碼,首先應該讀懂程式碼,然後自己動手手動輸入到你的 IDE 中,並解決由於輸入的錯誤語法而導致的編譯錯誤。如果仍然不成功,就再次藉助谷歌尋求幫助。谷歌搜尋是程式設計師的良師益友,你應該好好利用它。
多編寫幾個程式,首先嚐試自己獨立編碼,遇到問題再透過谷歌尋求幫助。我列舉了一些基本的 Java 程式,很適合初學者。
顯示文字資訊。顯示1到50的數字列表,每個數字獨立一行。找出兩個數字中的最大值和最小值。使用多種方法交換兩個數字。編寫一個計算器程式,使之能夠進行數字的加減乘除運算。建立兩個類,練習過載和重寫。在程式中使用陣列。以上程式只是帶你入門,讓你能夠編寫一些基本的 Java 程式。這個列表可以更長,你可以新增更多的專案到這個列表中,為其他初學者建立更多的入門程式。記住,善用谷歌,它會讓你學習程式設計的過程如虎添翼。
3. 使用 Java API 編寫高階程式當你完成了大部分的基礎程式編寫,並且掌握了基本的程式設計技巧之後,就可以進行下一步了。我會建議你努力學習 Java 集合和 Java IO 內部的 API。你需要熟悉這些 API 提供的各種類和介面,並利用它們來建立程式。需要注意的是,你應該查詢已經存在的 API 和方法來實現功能,而不是自己實現這些邏輯。你的任務是熟悉這些 API,因此你只能夠在這些已有的 API 中尋求解決方案。
同樣,我列出了幾個基本的程式供你參考。之後,你可以編寫更多的程式,儘可能多地使用 JAVA 提供的 API 和類。
從控制檯接收輸入並列印。
從檔案系統中讀取檔案並在控制檯中列印檔案內容。
建立一個新檔案並在檔案中寫入資料。
從 URL 中讀取資料並對其內容進行一些搜尋將元素儲存在列表中,然後遍歷它。
使用 HashMap 儲存隨機的鍵值對,然後用多種方式遍歷它。
對集合元素進行搜尋和排序。
在這一階段你編寫的程式越多,就會獲得更多的信心。熟練使用這些 API 之後,請進入下一節接受更加艱難的挑戰吧。
4. 編寫桌面程式和 Web 應用透過這一步的學習,面對任何Java 面試你都能夠信心滿滿,當你討論 Java 相關的話題時也能夠充滿自信。你需要至少編寫一個 Java 桌面或者 GUI 應用程式,比如計算器,然後再編寫一個 Web 應用程式,比如醫院管理程式。在前面的學習中,你已經掌握了最基本的 Java 知識,現在你需要去探索,然後編寫出這兩個應用程式。
你可以向 Java 專家、有經驗的朋友、同事或者其他比你強的人尋求幫助。在搜尋解決方案和學習基本概念時,閱讀優秀資料。此外,還可以購買一些相關的書籍。總之,用一切方法把這兩個應用程式做好。集中精力,哪怕幾周甚至幾個月的時間,也要把這兩個程式做好。
我可以向你保證,當你最終完成這兩個練習時,談到 Java 你會獲得空前的自信。更重要的是,它可以幫助你養成不惜一切代價完成一項任務的好習慣。這種持之以恆的態度對你職業生涯的長遠發展是非常重要的。
5. 閱讀和參與優秀的 Java 部落格與論壇完成上述四個步驟之後,我相信你在 Java 方面已經獲得足夠的自信,你可以去幫助其他的初學者。遇到初學者時,儘量幫他們解決問題,即使這會花費你一定的時間。比如 Stack Overflow 這樣的論壇,程式設計師們經常在這裡學習、分享或者進行職業規劃。你可以從別人的錯誤中學習,開拓思想,並提升自己的思維能力。
事實上,這一步就像無限迴圈,只要有時間你都應該持續下去。看到你的成長我會非常欣慰。
回覆2:
參加 OCJP 認證是一個很好的學習 Java 的途徑。當你從零開始學習開發 Java 應用程式時, 網上提供了大量有用的資源。
你可以去創業公司和跨國公司實習,實戰是最好的學習方式: https://hasjob.co/?q=internship
搭建 Java 開發環境:
想要編寫 Java 程式,首先需要搭建開發環境。
Java 線上學習資源:
Java 教程:https://docs.oracle.com/javase/tutorial/Vogella Eclipse、Android、
Java 培訓和支援Mkyong Java Web 開發教程Java 參考書:
深入淺出 Java:Java 傻瓜程式設計:Java 程式設計參考 - 最新版面試問題:
Java 面試內幕指南Java 面試問題集錦熟悉基礎知識之後,請繼續使用第三方庫進行程式設計練習。學習計劃、組織、模組化以及程式碼重用。編碼標準:
http://cleancode.sourceforge.net/wwwdoc/codingRules.html論壇:
StackOverflowCodeRanch其他一些有用的資源:
程式設計實踐與競賽線上計算機程式設計程式設計競賽SPOJ程式設計實踐Euler 專案TopCoder網站, 世界上最大的開發社群CodeforcesHackerEarth BetaHackerRankLeetCode教程LearnStreetGeeksforGeeks程式碼學校Bit TwiddlingCS 97SI:程式設計競賽簡介CSE 部落格 - 定量、數學、cse 拼圖數學蘋果、谷歌、Facebook、亞馬遜和微軟的技術面試問題彙總駭客網站好教程 - 最新教程程式設計社交QuoraStack OverflowCareerCup 面試問題GitHubGeeklist必讀自學程式設計十年提高程式設計技能的10個網站Stack Overflow 上排名靠前的程式設計書籍:
http://linkis.com/
回覆列表
自學程式設計者自己最強,培訓班只是強者的引路人,進了培訓班還需不懈努力,而不是拿到了鐵飯碗。
自己不懈努力 + 靠譜的培訓班 = 有發展潛力的軟體工程師