Java工程師學習指南java
入門篇程序員
最近有不少小夥伴來問我,Java小白如何入門,如何安排學習路線,每一步應該怎麼走比較好。本來我覺得以前的幾篇文章已經能夠解決你們的問題了,其實否則,由於我以前寫的文章都是站在Java後端的全局上進行思考和總結的,忽略了不少小白們的感覺,而不少朋友都須要更加基礎,更加詳細的學習路線。數據庫
因此,今天咱們從新開一個新的專題,分別按照四篇文章講述Java的學習路線(分別是入門篇,初級篇,中級篇,高級篇),筆者也打算趁此機會,回憶一下本身的Java學習歷程。今天咱們要講的是,小白同窗如何入門Java。編程
先聲明一點,文章內容不會詳細到每一步怎麼操做,只會提供大體的思路和方向,給你們以啓發,若是真的要一步一步指導操做的話,那至少須要一本書的厚度啦。後端
本文所述的方法不必定適合全部人,若有錯誤敬請諒解。api
01數組
前期準備工做微信
開發環境搭建網絡
這一步咱們每每會直接跳過,但既然是面向小白的教程,這裏就提一下吧。首先你須要一臺電腦,而後安裝好JDK和JRE,JDK提供的是Java開發工具,也就是一些必備的jar包,JRE則是Java的運行環境組件,咱們熟悉的JVM就在這裏面。多線程
安裝好這兩個東東以後,通常還要配置一下環境變量,不然有一些目錄可能沒法被正確找到。
IDE選擇和安裝
IDE指的就是本地開發編輯器,沒有了它,你就只能直接在記事本這類工具裏敲代碼了。IDE最大的好處就是整合了大量的工具和功能模塊,讓你很是輕鬆地完成開發。
之前你們都用eclipse,不過eclipse已經不流行了,如今我推薦你直接用intellij idea做爲你的第一個代碼編輯器。若是是用過eclipse的同窗,基本上也能夠無痛切換。
intellij idea能夠直接在官網上下載,試用版30天,若是想要永久使用,網上也有一些辦法滴。
關於jar包
jar包是什麼,其實就是將一堆class格式文件打包,Java中把它稱爲jar包,這些jar包在編譯器中能被直接識別,讓開發者使用。
對於新手來講,可能只須要用到JDK自帶的一些API,可是若是你要引用外部jar包,可能就會遇到一些困難了。對於idea來講,導入外部jar包有兩種辦法,一種是手動導入jar包,一種是使用maven。後者會在Java Web相關的文章中講起。
手動導入jar包其實也不難,你須要先下載好jar包,而後在對應的項目下選擇導入jar包便可,具體的方法這裏就不展開說了,由於在網上都找獲得。
02
學習Java基礎的幾種方法
瞭解基礎語法
學習一門語言,最開始要作的事情就是學習它的語法。我最先學習Java語法是在Runoob,這個網站可讓你對任意一門語言完成最快速的語法入門,固然,這只是至關於你瀏覽了一遍基礎語法。
想要真正掌握Java語言基礎,光看基礎語法還遠遠不夠,我在大三第一次接觸Java課程,聽老師講面向對象三大特徵聽得一頭霧水,連數組的初始化方式都理不清楚,但這些內容都是咱們須要掌握的。因此,爲了學好Java基礎,咱們還須要看視頻或者看書進行學習。
看視頻
視頻的話,能夠到極客學院或者慕課網聽Java基礎課程,固然也能夠看我分享的Java視頻課程。你們也都知道,如今Java的培訓班很是多,基本上學的東西也都大同小異,不過它們的有些課程還不錯,你們有渠道的話也能夠去看一看。
看視頻的好處是你能夠更好地接收知識,同時也會耗費你更多實踐,因此,有時候你也能夠選擇看書。
看書
看書的話,對於小白來講不推薦太複雜的書,好比《Java編程思想》這種書,新手千萬不要看。我我的建議,你只須要先看看《Java入門到精通》這種類型的書就足夠了,由於這個部分的學習只是爲你後面的學習開個頭,你之後可能還要回過頭來從新研究這些內容。
如今市面上介紹Java基礎的書籍實在太多了,質量良莠不齊,內容同質化嚴重,筆者看過的其實也很少。給你們一個建議,你只須要挑一兩本書來看便可,這裏推薦兩本最簡單的吧,《head first java》和《Java從入門到精通》。
看博客
這裏再推薦另外一種學習方式,就是看博客,博客比起書籍來講,更適合對於某個技術點的學習,你能夠很容易地在網上找到這個知識點相關的原理,實現方法,以及代碼範例。
個人博客裏沒有講解特別基礎的東西,若是你看一些比較基礎的文章,能夠到Runoob等網站上查看。若是你有一個很明確的知識點想要學習,相信搜搜引擎會給你更好的答案。
代碼實踐
除此以外,通常的Java書籍或者視頻課程都會要求你相應完成一些練習題,這部份內容你須要本身在電腦裏使用IDE完成。
在IDE裏,你能夠很好地熟悉Java語言的使用,基本代碼的實現,同時能夠嘗試各類各樣的API,而且測試一些語言特性,好比繼承,封裝,多態等等。
另外,這也是你熟悉IDE的一個好機會,由於在公司裏作開發可能要用到IDE各類各樣的功能,提早熟悉好IDE絕對是有益無害的。
03
Java入門必備知識點梳理
在Java入門階段,你可能須要接觸到如下這部分知識,無論你是從經過哪一種方式學習,這些內容都是你學習Java基礎時繞不過的重點。
Java基礎知識
這部份內容是你必需要掌握的內容,在入門階段你須要把這些基礎打紮實,以便於在學習後面的內容時能夠更上一層樓。
如何把基礎打紮實呢,最好的辦法就是在IDE上把書上或者視頻上的每一個例子都實現一遍,固然有的時候你也能夠本身寫一些有意思的例子。
1 基本數據類型
好比int,double,char,以及其包裝類。
熟悉基本數據類型的使用,瞭解每種類型所佔的字節數,以及它們和包裝類之間的相互轉換。
2 流程控制
好比for循環,if else,while循環等等
若是是學過c語言的同窗,這部分能夠跳過了。
3 字符串類型String的使用
字符串類型是Java中很重要的類型,它不是基本數據類型,但卻很經常使用,熟悉和實踐String相關的api,開始你對字符串的學習吧。
4 數組
數組的初始化方式有哪些,二維數組應該怎麼寫,把數組當成方法參數又該怎麼處理?
5 類和對象
Java中最重要的兩個概念:類和對象,它們有什麼用呢,有什麼區別和聯繫呢,請在代碼中實踐它們吧。
Java核心技術
對於這部份內容,我相信不少小白只能瞭解它們的基本使用方法,可是並不明白其背後的一些原理:好比爲何接口和抽象類有這些區別,多態的意義是什麼,爲何要有反射。
新手在學習這部份內容時,只須要知道怎麼用就能夠了。固然,你最好把這些特性都實現一遍,以加深印象。
至於爲何有這些特性,這些特性背後的原理是什麼,不是咱們如今討論的內容,這些內容咱們將在初級和中級篇中講述。由於,要了解這些原理,你得了解JVM,瞭解併發技術的基礎,瞭解網絡基礎,甚至更多。顯然,這不是你如今能作到的。
1 接口和抽象類
寫一些接口,同時寫一些實現類去實現這些接口,而且瞭解一下爲何咱們須要接口,爲何子類須要實現接口裏的方法。
同理,去實現一些抽象類吧。而後,看看它和接口有什麼不一樣。
2 繼承,封裝和多態
如何理解繼承,子類和父類之間有什麼聯繫呢。
封裝是一種保護代碼的方式,有哪些方式能夠實現封裝呢。
多態通常分爲重載和重寫,它們分別怎麼使用?
3 異常處理
Java中的異常處理主要用於捕獲和處理錯誤,請你寫一些try catch代碼塊去捕獲錯誤吧。
4 集合類
集合類是咱們常常須要打交道的東西,List,Map,Set等等,趕快去熟悉API,而後寫一些測試例子吧。
5 IO輸入流和輸出流
IO輸入流和輸出流能夠操做文件,網絡數據等內容,如何在Java代碼中完成這麼複雜的操做呢,其實只須要簡單的幾個api就能夠了。
6 多線程
爲了讓系統資源最合理地分配和調度,咱們須要多線程,多線程會讓程序變得有趣,也會帶來不少問題,使用Thread和相關API,去嘗試這些有趣的事情吧。
可選內容:
1 反射(瞭解便可,不是入門必須)
2 枚舉類型和泛型(瞭解便可,不是入門必須)
3 網絡通訊(瞭解基本的socket使用便可,須要網絡基礎)
4 數據庫操做(瞭解基本的JDBC便可,須要數據庫基礎)
04
總結
總而言之,對於一個Java小白來講,入門Java能夠分爲這幾步:
1 首先搭建好Java開發環境 2 經過Runoob等一些網站熟悉Java的基本語法 3 經過看書看視頻等方式熟悉Java基礎知識,經過代碼實踐加深理解 4 經過看書看視頻等方式初步瞭解Java核心技術,經過代碼實踐加深理解。
本文主要是爲你們提供一個學習的思路,以及推薦一些學習方法,若是你可以按照這樣的步驟去學習,而且配合上一些適合你本身的學習方法來完成學習計劃,相信你能夠很好地完成對Java的入門。
— END —
▼更多精彩內容
想了解Java後端學習路線?你只須要這一張圖! Java工程師修煉之路(校招總結) 你不可錯過的Java學習資源清單 Java基礎知識點總結 Java秋招面經大合集
微信公衆號【程序員江湖】
做者黃小斜,斜槓青年,某985碩士,阿里研發工程師,於2018 年秋招拿到 BAT 頭條、網易、滴滴等 8 個大廠 offer
我的擅長領域 :自學編程、技術校園招聘、軟件工程考研(關注公衆號後回覆」資料「便可領取 3T 免費技術學習資源)