如何學習用Java編寫程式碼?

banq發表於2019-02-14

確定您的職業目標並選擇一種語言。對於沒有程式設計經驗且希望加入開發人員社群的人來說,這是最重要的建議。但是,如何在不知道哪種語言最適合您的目的的情況下做出選擇呢?
如果在所有程式語言中都有“市場領導者”,那不是很容易嗎?然後所有新手總能有一個安全的選擇 - 學習這門語言,你肯定會有很高的需求。當然,這是不可能的。語言是解決眾多工的“工具”。但是,有一個可以被認為是一個明星的選擇 - 它是Java。

Java是一種結構良好,物件導向的語言,對初學者來說可以很容易。您可以非常快速地掌握它,因為有許多程式會自動執行。你不必深入研究“那裡的事情是如何運作的”。Java是一種跨平臺語言。它允許程式設計師建立一個可以部署在任何裝置上的應用程式。它是物聯網的首選語言,也是構建企業級應用程式的正確工具。
對於“新生”來說重要的是,Java擁有最大的全球社群和高質量的文件。如果您遇到問題,那麼答案就在那裡準備就緒,等待著您。Java的另外兩個好處是龐大的集合和框架,它們涵蓋了作為初級開發人員必須處理的大多數挑戰。
最後,它是一種具有可敬背景和突出未來的語言。兩個最新版本,增強了新功能,在六個月內釋出。這有助於Java站在最前沿,保持最高職位的可觀專業排名。
但即使我們談論的是一種學習曲線較低的程式語言,初學者也有很多隱藏的方法。你需要多少時間學習?哪些來源值得信賴?要避免哪些錯誤?讓我們一起學習你的學習經歷。

確保繞過常見的障礙物
你是程式設計新手。恭喜:您可以利用其他程式設計師的經驗,避免自我教育中的常見錯誤。這是一些經常性的失誤:
1. 學習時沒有設定具體目標
要估計某種程式語言的規模和理想的知識水平,首先,您應該回答一個簡單的問題:為什麼需要程式設計?
如果您認真對待編碼並打算成為Java開發人員,那麼您需要每天至少學習4-5個小時。但如果您只想擴大範圍,可以選擇更輕鬆的節奏。無論如何,儘管技術不斷髮展,但請儘量不要延長你的教育時間。當您學習某種框架或開發工具來獲得工作時,它就會過時。
閱讀彈出的“有用的東西”並不是最好的學習策略。可以對總體計劃進行調整。但是,根本不遵循它將不可避免地使你失去動力。

2. 嘗試一次學習太多技術
這是一個隨後的錯誤,導致學習無止境。不要試圖用太多的技術和工具填補您的教育計劃,以避免倦怠。您需要時間來處理資訊,並瞭解一切如何在實踐中發揮作用。

3.太多的研究和理論沒有實踐
程式設計是一項只有透過大量練習才能獲得的技能。你需要一個理論上的認真背景,但只要你只閱讀(或觀看)講座和課程,你就無法真正編碼。想一想。如果沒有嘗試游泳,就不能學會游泳。你需要解釋,但最重要的是,你需要採取行動。(banq注:人分兩種:想好了再幹和幹了再想,如果你腦袋很大,屬於前者,需要膽量和勇氣踐行後者)
只有大量的練習才能教你如何處理日常程式設計師的問題。例如,您將養成定期檢查程式碼的習慣,而不是讓連線的問題堆積起來。您還將從最簡單的解決方案開始。然後轉向更精緻,不斷致力於改進您的程式碼。最重要的是,您將習慣於每天編碼。


學會獨立地編碼
初學者經常猶豫不決,他們是否應該加入線上程式設計社群或參加活動,主要是因為冒充綜合症(濫竽充數的自我意識,總是覺得自己是濫竽充數,過於自卑)。但請記住:沒有人想讓你失望。程式設計社群是協作的。這就是眾多開放資料來源的出現方式。他們習慣於在一個團隊中工作,當然,所有這些人都是生命中某個時刻的初學者。
看一看:有很多關於程式設計的論壇和網路資源。開發人員熱切地分享他們的知識,並願意接受合作。您可以開始線上學習,從經驗豐富的同事那裡獲得有用的提示,然後找到您的第一個編碼專案。

確保有一天你會完全理解程式設計的各個方面
如果有人發現訣竅就能立即熟練使用任何程式語言,他就會成為這個星球上最富有的人(banq注:可能還需要勤奮和機會,更需要有每天和失敗共存的心態,不會像考試會給你100分的賞賜,永遠有修改不完的Bug)。但是在那之前,如果你選擇成為一名程式設計師,那麼你的學習就沒有確定的結果。即使你有工作,也永遠不要停止學習。在程式設計世界中,事情變化很快。
另一方面,當你還在學習如何編碼時,儘量接受一些事實。不要深入研究每個主題,因為它的背景可能太“沉重”。


制定完美的培訓計劃
一步一步實現目標更容易。現在,當你知道常見的錯誤時,你可以避免它們。以下是學習Java的三個步驟。
1. 設定目標並選擇一種語言。
你可以用Java做很多事情。您可以構建應用程式伺服器,桌面和移動應用程式,企業應用程式以及執行單元測試。但是,當然,程式語言並不是您成為專業人士所需要知道的一切。試著想一下具體的活動領域。
今天的趨勢是構建基於雲的應用程式(您還需要學習雲端計算的基礎知識和雲開發的特定工具),使用物聯網,執行大資料分析,建立遊戲等。

2.制定培訓計劃。
你準備好讓Java程式設計成為你的職業嗎?然後將至少2-3(在工作日)至5小時(週末)專門用於每日學習。在這種情況下,您可能需要3至6個月的時間來準備初級開發人員職位。
一般而言,您的學習過程將分為幾個階段:

  • 從Oracle網站安裝JDK(Java Development Kit)和安裝Java執行時環境(IntelliJ IDEA,Eclipse或NetBeans);
  • 學習Java語法;
  • 學習Java核心;
  • 學習Java集合;
  • 學習流行的庫包和框架;
  • 探索經常使用的API(例如,servlet,JSP,JDBC,JUnit);
  • 掌握Git;
  • 等等。

儘量遵循你的計劃,並在理論和實踐之間保持平衡。程式設計是一項每天都需要培訓的技能。如果你完成了某個科目的學習,繼續進行一些編碼任務(3到10,取決於他們的難度)。
您可以輕鬆地將眾所周知的Pareto原則(80/20規則)調整為Java學習。“20”代表研究,“80”代表實踐。這並不誇張:你需要的程式碼是閱讀的四倍,以記住你學到的東西並培養你的編碼技巧。不幸的是,如果您不立刻編寫程式碼,您將會忘記第二天閱讀的所有內容。幸運的是,如果您有合適的來源,您不需要發明自己的培訓計劃。

3.選擇合適的工具並加入程式設計社群。
說實話:完美的Java課程不存在。有些會給你一個深刻的基礎知識,有些會提供很多練習。選擇幾個平臺進行教育,溝通和實踐。選擇一個線上課程,結合理論的簡單解釋和真實的編碼。
加入社群,在那裡您可以詢問有關Java編碼方面的任何問題,分享您的想法並找到志同道合的人。下面列出了Java開發人員的頂級社群。


透過多個知識源來學習Java
您將需要許多工具來實現您的目標。這是一套讓您獲得成功的“工具”。

  1. 嚴格實踐:CodeAcademy

這可能是學習多種語言的最著名的線上平臺之一。當然,Java學習者也有一個部分。在這裡,您將從第一課開始編碼。有一些非常有用的提示,如果某項任務看起來很艱難,你可以獲得這些提示(當你是初學者時這是正常的)。邏輯很簡單:讀取任務,編寫程式碼並執行它以檢視結果會發生什麼,然後轉到下一步。在您開始從乾淨的工作表編寫程式碼之前,任務會逐漸變得更加複雜。常見問題解答部分非常有用,您可以選擇與其他學生討論每項任務。
本課程可以成為學習Java的一個很好的補充工具。如前所述,您需要編寫程式碼來掌握Java程式設計。

2.從頭開始播放和編碼:CodeGym.cc
這些是針對Java學習者的線上課程,具有特殊功能 - 遊戲化。如今,線上課程採用遊戲化元素是很常見的,因為它們帶來即時動機,持續成就感並使其更容易實現目標。
在CodeGym,您可以從未來宇宙中的0級開始,包括太空旅行,機器人和其他很酷的東西。你的目標是透過四個教育任務來升級一個角色 - 一個機器人。每個任務包括10個級別,每個級別最多10-12節課,由銀河船的船員講授。課程包括最小理論和一系列任務,包括即時驗證和如何改進程式碼的提示。您從頭開始編寫程式碼,解決非常簡單的任務,直到您為更復雜和大量的編碼專案做好準備。
整個故事讓你不會陷入某個主題或任務,前進並稍後返回“繞行者”。總而言之,課程中有1200多個令人印象深刻的任務。在編碼中至少轉換300-500小時的數量。

3.挑戰程式設計師:Codewars
這是另一個有大量實踐的線上平臺。雖然它更適合具有至少小程式設計背景的學習者。透過訓練katas,Codewars使您能夠透過某種語言提高技能。
您可以在瀏覽器中編寫程式碼並使用測試用例逐步檢查。您還可以將您的解決方案與其他人進行比較,以擴大您的知識並討論最佳實踐。每個kata都有一個等級,每個kata都是其他程式設計師的挑戰。當您解決更困難的任務時,您可以獲得更復雜的挑戰來提高編碼技能。這個平臺與其他平臺的不同之處在於它允許在一個小組中學習和練習。

4.聽聽“專業”級別的講座:EdX
EdX是由哈佛大學和麻省理工學院創立的教育平臺。它涵蓋了許多研究領域,包括Java程式設計和許多相關主題。大學提供大量經過驗證的入門課程和證照課程。
每門課程都有一個明確的時間範圍,包括帶有文字記錄的影片講座。您可以輕鬆返回上一課並修改材料。有幾十種不同的課程,其中一些是免費的。但是,這仍然是學習Java理論的源頭。務必透過數小時的編碼來加強這些課程。

想要關注Java世界的最新新聞,評論和更新?這是正確的做法。Java不斷髮展,升級並帶來新功能。請務必每天閱讀幾種媒體。其中最大的是:
  • Javaworld(新聞,有用的教程,“如何使用”以及讓您瞭解Java程式設計的所有其他內容);
  • Java Code Geeks(一個資源中心,為那些學習Java的人提供有關如何獲得Java程式設計師工作的教育教程,文章和技巧);
  • DZone(為初學者和經驗豐富的開發人員提供大量文章和指南);
  • Javarevisited(每日更新的部落格,涵蓋眾多Java學習主題)。

你還記得加入社群的建議,讓你的教育更有效嗎?您可以在Stack Overflow的 Java部分或Coderanch中提出任何問題。
此外,Reddit上至少有三個大型社群,如learnprogrammingjavalearnjava,在這裡您可以找到有關學習Java和程式設計的有用技巧。如果您需要更多具體資訊,例如,在某些任務中改進程式碼的提示,請嘗試CodeGym 的特殊幫助部分,其他學生和“編碼教練”將幫助您解決任何問題。最後,Oracle擁有龐大的Java社群,面向新手和經驗豐富的開發人員。

相關文章