當開始閱讀本文時,想必你已經下定決心開始編程了。編程的好處在於,你有機會參與有趣的項目,並且能夠隨時隨地工做。對新手程序員而言,掌握如何學習編程技術是最大的難題。大學裏的編程教育與公司裏的軟件開發很難對接,緣由在於編程是一項很是靈活的技術:活到老學到老。html
一些程序員可能會這樣告訴你,編程不要怕試錯,多試幾回就成功了。然而,在掌握編程的路上,遇到的坑可能遠比你想象的多。java
填坑指南
程序員
若是你決心學習 Java,能夠參考下面這些經驗和教訓。編程
1. 一直在研究,沒時間動手瀏覽器
這也許是打上學起就養成的習慣。談到學習咱們總會從書本開始,感受越是經典的大部頭著做,啃下來的效(gan)果(jue)越好。事實並不是如此。對編程而言,缺乏動手練習是致命的。只有天天練習編程纔可能對本身的編程能力創建信心。光看書是沒法學會游泳的,編程也同樣。oracle
2. 沒有目標app
一些人只是愛上了學習自己,從不考慮結果。很難想象,花費數月甚至數年時間僅僅是培養一種愛好。若是隻是爲了掙錢,也不足以讓你加入谷歌這樣的公司,由於編程算不上是你的職業。一樣,若是僅僅對編程有熱情而沒有天天堅持練習,那麼編程可能也不適合你。編程語言
3. 一次學太多技術ide
軟件開發技術浩如煙海,想要把感興趣的技術都學一遍,很快就會從入門到放棄了。定一個計劃,在設定的週期內學習,避免長期做戰。以 Java 爲例,這個計劃能夠是掌握 Java 核心編程和編程工具。工具
4. 不要中斷
對新手而言,中斷意味着危險。天天都有各類誘惑讓你放棄,幾天後當你再撿起以前學的內容時,可能早就不認識它們了。務必把「天天編程」做爲本身的座右銘,儘量不要中斷。
5. 誤覺得只要會 Java 就能夠開始編程了
在思考清楚解決方案前,有經驗的程序員通常不會動手編碼。在他們的手中,編程語言只是一種熟練使用的工具。只會編碼是不夠的,還有不少其餘須要掌握的技巧,強大的邏輯思惟能力、問題分析與解決能力、抽象結構和流程可視化能力等等。
6. 對全部技術打破沙鍋問到底
堅持未必成功,要找到問題的關鍵。在學習 Java 的過程當中,解決問題或者學習新概念時,要有必定的持久性。然而,並不是全部細節都要打破沙鍋問到底。Java 自動作完成了不少功能,讓你可以專一於程序要解決的問題自己。
7. 不重視代碼的可讀性
剛開始編程,最重要的是讓代碼可以正常運行。這就是爲何新手每每沒有給代碼加上註釋,也是爲何未來的某個時候要給本身的代碼「解密」的緣由。在新手在成長的過程當中,一定有一個提升代碼可讀性的階段。固然,前提也是要天天努力。
有經驗的程序員會遇到一樣的問題,他們可以很快理解程序究竟要解決什麼問題。打開若干年前寫下的第一段程序,也不會有過於陌生的感受。
8. 沒有按期測試代碼
bug 老是會有的,不要累積。趁它們尚未堆積起來,按期解決。不然,即便最後花不少時間調試也很難找到問題。
9. 缺少交流
如今有許多在線編程學習工具和資料,你能夠很方便地自學編程。自學惟一的缺點是缺少交流,加入編程社區學起來可能效果更好。關於 Java 社區和論壇,有 [Coderanch][1]、[Stack Overflow][2]、[Oracle Java 社區][3]以及 [Reddit][4] 上的 Java 社區。
https://coderanch.com/forums
https://stackoverflow.com/questions/tagged/java
https://www.oracle.com/technetwork/java/community/index.html
https://www.reddit.com/r/java/
https://www.codecademy.com/
https://www.codewars.com/
https://codegym.cc/
10. 幻想總有一天本身無所不知
做爲編程新手,能夠多聽聽有經驗同事的意見,固然也要有能力本身鑑別。編程集成突飛猛進,天天都在升級、加入新功能、出現新技術,只有持續學習纔可能修煉成功。
學習 Java 的5個實用建議
安排好學習時間,遠離干擾。最好把聊天工具關掉,手機調成靜音而後放得遠遠的。
天天編程。下面會介紹一些好的工具,但前提是你得天天編程。
學會提問。提出好問題能讓你快速融入團隊,也能讓你在論壇裏結交朋友,共同合做完成項目。
秀出你的成果。不但有機會讓別人更好地瞭解你,甚至可能會給你帶來第一份工做。
天天學習,即便你快要成功了。學習是很難的,千萬不要前功盡棄。定好計劃、選好工具、有足夠的學習願望和動力,每一個人都有機會。
如今有不少資源供你選擇,博客、指南、教程、課程以及編程工具。每樣少量,就能夠開始享用你的「Java學習大餐」了。
練習 Java 的3個推薦
學習是枯燥的,下面推薦3個既能練習 Java 又頗有趣的資源。
[CodeAcademy][5]:難度按部就班,支持多種編程語言。可做爲輔助工具,須要其餘資源學習 Java 重要概念。
[Codewars][6]:在線編程競賽平臺,在瀏覽器中編程。
[CodeGym.cc][7]:遊戲化學習平臺,適用於初學者。
還有一點很重要,在研究與實踐中要保持平衡。最後預祝早日達成學習目標。