1. 程式人生 > >黑馬程式設計師:輕鬆精通Java學習路線連載1-基礎篇!

黑馬程式設計師:輕鬆精通Java學習路線連載1-基礎篇!

程式語言Java,已經21歲了。從1995年誕生以來,就一直活躍於企業中,名企應用天貓,百度,知乎......都是Java語言編寫,就連現在使用廣泛的XMind也是Java編寫的。Java應用的廣泛已經到了“無處不用”的盛世,而且一直在語言排行榜榜首,從未被超越。廢話不多說,今天主要是給大家講講怎樣學習Java,給大家建議一條輕鬆精通Java的學習路線。有了相對標準的流程,那麼你的學習效率一定會倍增。

下面以黑馬程式設計師Java學院的學習路線為例,進行一次史無前例的剖析,我會採取連載的形式,細緻的講解零基礎的人怎麼學習Java。先看下Java在基礎階段的知識點路線圖。

 

內容多嗎?不要被嚇到了,知識點剖析的比較細,所以看著比較多。不要害怕學不會,經過下面的詳解,你就會明白這些知識點都是幹嘛的了。

 

Java基礎

入門階段,主要是培養Java語言的程式設計思想。瞭解Java語言的語法,書寫規範等,掌握Eclipse、MyEclipse等開發工具,編寫Java程式碼的能力。學完這個階段你應該可進行小型應用程式開發並且可以對資料庫進行基本的增刪改查管理。注意:此階段知識點的學習,會有真實的專案進行驅動學習,讓你輕鬆理解各知識點。

1.   計算機基礎知識

針對零基礎學習的人,從對計算機操作等知識的瞭解,延伸到Java語言的發展與開發工具的使用上。主要是讓你知道怎樣執行計算機命令,認識Java這門語言,感受程式語言Java怎麼開發程式。

1)     計算機基礎

讓零基礎學習的人先了解計算機相關知識,進而再去了解Java語言。

2)     DOS常用命令

瞭解什麼是DOS,並掌握DOS控制檯的開啟方式,同時熟悉常用的DOS命令,例如:碟符切換、進入指定目錄、刪除檔案等,完成使用DOS命令對計算機進行操作和控制。

3)     Java概述

瞭解Java語言的發展史、Java語言平臺版本、Java語言的特點,以及JRE與JDK。JRE是Java的執行環境,JDK是Java開發工具包,它包含了Java的開發工具以及JRE。所以安裝了JDK就不用再單獨安裝JRE了。

4)     JDK環境安裝配置

瞭解了什麼是JDK,以及JDK的重要性,下一步我們就來學習如何安裝和配置JDK環境。在安裝JDK之前,我們首先需要下載JDK,針對不同的系統,我們需要下載不用版本的JDK。

5)     環境變數配置

瞭解path、classpath環境變數,理解path變數和classpath變數的作用,並掌握path變數和classpath變數的配置方式。

6)     Java程式入門

當JDK、環境變數配置完畢,我們就可以開始 編寫Java程式。編寫Java程式可以使用如下幾種工具:notepad(微軟作業系統自帶)、Editplus、Notepad++、Eclipse、MyEclipse。

2.   程式設計基礎

此模組學習是讓你瞭解程式設計的具體流程,學習Java基礎語法的格式等。具體要掌握不同資料型別的變數定義與使用,掌握不同運算子的運算規則,掌握流程控制語句的執行流程,編寫方法的宣告與呼叫,建立陣列並訪問陣列元素等知識。

1)     註釋

在程式開發工程中,用於解釋和說明程式的文字我們稱之為註釋,Java中的註釋分為以下幾種:單行註釋、多行註釋、文件註釋。

2)     關鍵字

瞭解Java關鍵字的含義及特點,掌握關鍵字使用的注意事項。

3)     識別符號

瞭解什麼是識別符號,識別符號的組成規則,以及識別符號使用時的注意事項。

4)     常量與變數

理解常量與變數的含義,並掌握常量與變數的區別、變數的定義格式以及變數的賦值。

5)     資料型別

掌握Java語言的資料型別,如基本資料型別:byte、short、int、long、float、double、char、boolean,以及引用型別:類、介面、陣列。

6)     運算子

熟練掌握Java中的運算子:算術運算子、賦值運算子、比較運算子、邏輯運算子、位運算子、三目運算子。

7)     流程控制語句

瞭解什麼是流程控制語句,掌握以下流程控制語句:順序結構、選擇結構、迴圈結構,並能夠通過流程控制語句實現特定的功能。

8)     方法

掌握方法的定義及格式,並能正確的呼叫方法,理解方法的呼叫過程,同時清楚方法的注意事項;掌握方法過載及其特點。

9)     陣列

瞭解陣列的概念,掌握陣列的定義格式、靜態初始化、動態初始化,並能夠理解Java中陣列的記憶體圖解。熟練掌握陣列的遍歷、獲取最值、陣列元素逆序、陣列元素查詢、陣列排序和二分查詢,以及二維陣列的定義格式及初始化。

3.   面向物件

現實世界中,隨處可見的一種事物就是物件,物件是事物存在的實體,如人類、書桌、計算機、高樓大廈等。人類解決問題的方式總是將複雜的事物簡單化,於是就會思考這些物件都是由哪些部分組成的。通常都會將物件劃分為兩個部分,即動態部分與靜態部分。靜態部分,顧名思義就是不能動的部分,這個部分被稱為“屬性”,任何物件都會具備其自身屬性,如一個人,它包括高矮、胖瘦、性別、年齡等屬性。然而具有這些屬性的人會執行哪些動作也是一個值得探討的部分,這個人可以哭泣、微笑、說話、行走,這些是這個人具備的行為(動態部分),人類通過探討物件的屬性和觀察物件的行為了解物件。

1)     面向物件思想

瞭解面向過程程式設計思想,能夠通過案例理解Java的面向物件程式設計思想,瞭解面向物件開發、設計、特徵。

2)     類與物件

瞭解什麼是類,什麼是物件,並理解類與物件之間的關係;熟練掌握類的定義、物件記憶體圖等。

3)     成員變數和區域性變數

瞭解什麼是成員變數,什麼是區域性變數,以及從他們在類中的位置、記憶體中的位置、生命週期、初始化值等方面掌握他們的區別。

4)     匿名物件

瞭解什麼是匿名物件,掌握匿名物件的兩種使用情況。

5)     封裝

清楚的瞭解什麼是封裝,並能夠理解封裝的優點與缺點,同時掌握封裝的原則。

6)     this關鍵字

掌握this關鍵字的含義與使用。

7)     構造方法

瞭解什麼是構造方法,構造方法的作用,以及與構造方法相關的注意事項。

8)     繼承

理解什麼是繼承,繼承的好處以及java中繼承的特點和注意事項,繼承中成員變數的關係、構造方法的關係、成員方法的關係,方法重寫與方法過載的區別。

9)     多型

理解什麼是多型,掌握多型案例及成員訪問的特點,多型的優點和缺點,多型中的轉型問題。

10)  抽象類

瞭解什麼是抽象類,抽象類的特點,抽象類成員的特點。

11)  介面

瞭解什麼是介面,介面的特點,介面成員的特點,類與類、類與介面的關係,以及抽象類與介面的區別。

12)  內部類

什麼是內部類,內部類的訪問特點,內部類的位置,什麼是成員內部類、區域性內部類、匿名內部類,以及匿名內部類在開發中的使用。

4.   常用類

類庫就是Java API(Application Programming Interface,應用程式介面),是系統提供的已實現的標準類的集合。在程式設計中,合理和充分利用類庫提供的類和介面,不僅可以完成字串處理、繪圖、網路應用、數學計算等多方面的工作,而且可以大大提高程式設計效率,使程式簡練、易懂。

學習內容:掌握Object類、Scanner類、String類、StringBuffer類、StringBuilder類、Arrays類、基本包裝類、正則表示式、Math類、Random類、System類、Date類、DateFormate類、Calendar類,及其常用方法。

5.   集合

集合類存放的都是物件的引用,而非物件本身,出於表達上的便利,我們稱集合中的物件就是指集合中物件的引用。簡單一點就是說,集合是存放資料的容器。

學習內容:什麼是集合?陣列與集合有什麼區別,集合類的特點,掌握Collection介面、Iterator介面、List介面、ListIterator介面、ArrayList類、Vector類、LinkedList類、泛型、Set介面、HashSet類、Map介面、HashMap類、LinkedHashMap類等。

6.   IO

IO(Input/Output)是計算機輸出/輸出的介面。Java的核心庫java.io提供了全面的IO介面,包括:檔案讀寫,標準裝置輸出等等。Java中IO是以流為基礎進行輸入輸出的,所有資料被序列化寫入輸出流,或者從輸入流讀入。

1)     異常

瞭解什麼是異常,異常的由來,常見的異常,異常的分類,掌握jvm對異常的預設處理方案,異常的處理方案:try…catch…finally、throws,什麼是編譯時異常,什麼是執行時異常,掌握它們兩的區別,throws關鍵字、throw關鍵字,以及這兩個關鍵字的區別,熟練掌握自定義異常,異常注意事項。

2)     File類

瞭解什麼是File類,File類的用途,掌握File類的方法:createNewFile()、mkdir()、mkdirs()、delete()、renameTo(File dest)、isDirectory()、isFile()、exists()、等方法,以及File類的基本獲取功能方法和高階獲取功能方法。

3)     IO流

瞭解什麼是IO流,IO流的用途;熟練掌握輸入流、輸出流、字元流、位元組流、IO流的常用基類;如何使用位元組流讀寫資料、複製資料;什麼是位元組緩衝流,如何使用位元組緩衝流讀寫資料;什麼是轉換流,如何使用轉換流更加高效的讀寫資料,記憶體操作流、列印流、標準輸入輸出流、序列化流、Properties集合。

4)     IO流練習

(1) 複製文字檔案;

(2) 複製圖片;

(3) 把ArrayList集合中的字串資料儲存到文字檔案;

(4) 從文字檔案中讀取資料(每一行為一個字串資料)到集合中,並遍歷集合;

(5) 複製單極資料夾;

(6) 複製單極資料夾中指定檔案並修改檔名稱;

(7) 複製多極資料夾;

(8) 已知s.txt檔案中有這樣的一個字串:“hcexfgijkamdnoqrzstuvwybpl”;

(9) 請編寫程式讀取資料內容,把資料排序後寫入ss.txt中;

(10) 獲取每次讀取資料的行號;

(11) 登入註冊IO版。

7.   多執行緒

是指從軟體或者硬體上實現多個執行緒併發執行的技術。具有多執行緒能力的計算機因有硬體支援而能夠在同一時間執行多於一個執行緒,進而提升整體處理效能。具有這種能力的系統包括對稱多處理機、多核心處理器以及晶片級多處理(Chip-level multithreading)或同時多執行緒(Simultaneousmultithreading)處理器。在一個程式中,這些獨立執行的程式片段叫作“執行緒”(Thread),利用它程式設計的概念就叫作“多執行緒處理(Multithreading)”。具有多執行緒能力的計算機因有硬體支援而能夠在同一時間執行多於一個執行緒(臺灣譯作“執行緒”),進而提升整體處理效能。

1)     多執行緒

瞭解什麼是執行緒,什麼是多執行緒,理解java程式的執行原理,掌握多執行緒的實現方案,如何獲取和設定執行緒名稱、執行緒的生命週期、如何解決執行緒安全問題、執行緒同步、Lock鎖、死鎖問題、執行緒間通訊、執行緒的狀態及狀態轉換、執行緒池。

2)     多執行緒面試題

(1) 多執行緒有幾種實現方案,分別是哪幾種?

(2) 同步有幾種方式,分別是什麼?

(3) 啟動一個執行緒是run()還是start()?它們的區別?

(4) sleep()和wait()方法的區別;

(5) 為什麼wait(),notify(),notifyAll()等方法都定義在Object類中;

(6) 執行緒的生命週期圖。

3)     設計模式

瞭解什麼是設計模式,設計模式的分類,熟練掌握單例設計模式(懶漢式、餓漢式)。

8.   網路程式設計

網路程式設計最主要的工作就是在傳送端把資訊通過規定好的協議進行組裝包,在接收端按照規定好的協議把包進行解析,從而提取出對應的資訊,達到通訊的目的。

9.   反射

JAVA反射機制是在執行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個物件,都能夠呼叫它的任意一個方法和屬性;這種動態獲取的資訊以及動態呼叫物件的方法的功能稱為java語言的反射機制。

10.        Mysql及JDBC開發

MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 最流行的關係型資料庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational DatabaseManagement System,關係資料庫管理系統) 應用軟體之一。

JDBC(Java Data Base Connectivity,java資料庫連線)是一種用於執行SQL語句的Java API,可以為多種關係資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。JDBC執行SQL語句操作資料庫。

1)     Mysql資料庫

資料庫使用、mysql的安裝與解除安裝、mysql賬號管理,SQL語句介紹、資料庫增刪改操作DDL語句使用、表增刪改操作DML語句使用、表查詢操作DQL語句使用、以及查詢語句條件、排序、聚合、分組操作。

2)     JDBC開發

JDBC介紹、驅動的原理及使用、JDBC核心使用、DriverManager、Connection、Statement、ResultSet詳細使用,JDBC的CURD操作、防止SQL注入及PrepareStatement使用、大資料處理、批處理。

3)     DBUtils開發

連線池介紹、DBCP連線池使用。DBUtils介紹、DbUtils類的使用、QueryRunner類的使用、ResultSetHandler詳解。

成為一名Java開發工程師,上面的內容是首要必學的知識點。認真的講,基礎知識學好了,後面的知識點學習會非常容易,都是在基礎上或新增或者變化的。想要更全面的瞭解Java,歡迎你諮詢黑馬程式設計師官網,黑馬程式設計師十年Java教學,堅守“為莘莘學子改變命運而講課”這份情懷,不忘初心。最後一張圖看看黑馬程式設計師Java學員各階段市場價值!

感謝閱讀,更多精彩在下一期哦!......