java學習路線
時間節點2016年冬12月我大一上學期的枯燥的生活結束了。放寒假回家後買了臺電腦,我書順便給我哥要了套影片,拿到影片後有個java學習路線,我就是按照那個進行學習的不過在後來我也是有所改變。具體的學習方式可以去我上篇的文章。下面我將每個學習的章節技術點以黑體加粗展示
先是從認識面向物件開始,因為我學過了C語言但是不是特別的熟練,而C語言沒有物件的概念,他是面向過程的語言,所以就是認識什麼是物件物件,java程式設計思想中有這樣一句 “一切皆物件”,也就是在使用語言時可以把每一個部分當做物件。其實主要了解什麼是物件,自己心中有這個概念就可以。
開發環境,工具 是學習任何一門語言的必備的技能,你要想搞明白這個語言的使用,“工欲善必先利器” 你就必須先把環境搭建起來,好多人工作了幾年都不能把jdk給正確的安裝下來,還需要baidu,這個是基礎的技能,所以當我們學習的時候一定熟練掌握,比如最簡單的就是把jdk的bin目錄直接配置到path目錄下。開發工具,你可能看的影片很多開始都是在記事本上給你演示的,其實在真正的開發中是不可能這樣使用的,你想想一個個專案有時沉澱了四五年,那程式碼量是多麼的多,記事本能搞定嗎,所以先是推薦Eclipse 因為開源免費,後續可以搞Idea進行使用,notePad++進行檢視程式碼,Hbuilder用於寫html,js這些,這樣你的環境和工具都有了那麼你是不是就能夠進行學習了。
java基本資料型別 基本資料型別是這個語言的基礎,java有八大基本資料型別,這些基本資料型別修飾變數後讓其變數賦予真正的意義。我的前輩給我說他面試到一位工作三年的 java基本資料型別 都不能答得上來,所以我們學校時一定把基礎給紮實。java八大基本資料類以及他的包裝類這些都要熟練記憶,char ,boolean,byte,short,int,double,float,long. 這些給記牢以及對應的包裝類是啥。有了這些基本資料型別看下他們預設值為什麼,這個要牢記。學完這些後就可以去看運算子了。
運算子(運算子,關鍵字,修飾符,迴圈,條件語句) 基本型別掌握了我們就可以根據這些進行操作,比如 int 型別的+,-,*,/ ,%,的操作(加,減,乘,除,模) 然後迴圈語句,條件判斷語句, 類中欄位的修改符,private,public ,protect,預設。關鍵字也是用於修飾變數的,比如 public static void main(){} 這個方法是開放的 ,靜態的,返回值為空的。關鍵字就是 static ,還有很多關鍵字 比如下方,現階段不要求全會,至少要保證以後要回,因為這些以後都要用到。
面向物件:真正的瞭解到面向物件是從認識類開始的,類是什麼 類是封裝了物件的行為和屬性。從上面一句是不是你要去了解 什麼是行為,什麼是屬性。明白這個後就會繼續學習 抽象類,靜態類,內部類,介面,三大特性(封裝,繼承,多型), 到這個時候你就會了解 過載與重寫的區別,為什麼過載建構函式, 為什麼重寫 順便稍微瞭解一下記憶體結構,物件儲存位置 ,這樣其實是資料結構中的,所以要去看資料結構的知識。
自動拆箱與裝箱: 自動裝箱就是Java自動將原始型別值轉換成對應的物件,比如將int的變數轉換成Integer物件,這個過程叫做裝箱,反之將Integer物件轉換成int型別值,這個過程叫做拆箱。因為這裡的裝箱和拆箱是自動進行的非人為轉換,所以就稱作為自動裝箱和拆箱。原始型別byte, short, char, int, long, float, double 和 boolean 對應的封裝類為Byte, Short, Character, Integer, Long, Float, Double, Boolean。這樣是不是你會發現我在學習基本資料 型別時與這個包裝類區別了
java常用類: Object,String,StringBuffer,StringBuild,System,Math,Redom,Date,Date Format,BigDecimal,Pattern與Matcher類, Properties 去逐個瞭解上面的基本類的方法和特性,比如 String,StringBuffer,StringBuild的使用場景,不要了解太深去會用就可以。
異常:在上面的類使用時是不是idea有時會同時try catch包裹 這就是編譯器告訴你程式可能會有異常 ,你去了解什麼是異常, 異常的關鍵字,throw,throws,Exception類 執行時異常,非執行時異常
集合:瞭解完異常後來學習集合,明白集合的特性,兩個頂級的介面Collection,Map,以及他們的不同的實現類List(ArrayList,LinkedList,Vector),Set(HashSet-LinkedHashSet,TreeSet),集合遍歷Iterator,Hash操作Map(HashMap-LinkedHashMap,TreeMap),各個的特性
IO操作: 去學習流的兩大頂級介面 輸入流InputStream,Read,輸出流OutputStream,Write,字元流(Read,Write),位元組流(inputStream,OutputStream),File類,Chanel類 的操作。自己實現檔案的讀取和檔案的寫入。
多執行緒:去了解程序與執行緒的區別,並且牢記於心。多執行緒特性,實現多執行緒的方式(Thread,Runnable),執行緒的生命週期,應用 ,自己手寫最有名的餘票程式碼。
Swing: 這個選學,不過我當時學了好多,因為我用swing搞了個坦克大戰看人家的影片,現在還可以使用的,專案地址在github上 javase 中。
網路程式設計:Socket,埠,協議, 這個我跟著影片做了qq聊天。簡易的根據socket
註解: 學習完後去瞭解註解 元資料,基本註解,註解實現 等。這樣你的javaSE基本上就可以學習完畢了 ,不過需要你大量的練習,練習以後才能夠出效果。
我這裡貼上我的se學習的程式碼在git上 https://github.com/kaysanshi/javase
學習完以上經過大量的練習去牢記程式碼,去明白其中的實現原理。