初學Java的那段日子

Java學習錄發表於2019-03-22

最近因為一個朋友想要學習Java,在幫助他找教程的過程中回想到了我自己當年學習Java的那段歲月,故寫了此篇文章總結了一下初學Java所必須要掌握的知識點,然後把一部分常見的面試題羅列出來。給予剛剛開始學習Java的同學做一個參考。

程式語言簡史

最初由0,1組成的機器語言變成了簡單指令的組合語言,最後才是高階語言。而高階語言又分為程式導向語言與面嚮物件語言兩種。而Java就是典型的面嚮物件語言。

question:

你知道哪些高階語言?

他們分別是程式導向還是物件導向呢?

程式的工作原理

因為計算機只認識機器語言,所以我們寫出的程式碼想要被計算機執行必須有一個轉換的過程。這個轉換的過程分為兩種:編譯執行,解釋執行。

question:

你知道什麼是編譯執行和解釋執行麼?

你知道他們各自的好處麼?

你知道Java是如何執行的麼?

初識Java

Java語言的發展歷程、Java這個名字的來歷、J2EE、J2SE、J2ME。還有最經典的一句話:Compile once and run everywhere

question:

你知道J2EE、J2SE、J2ME分別適用於什麼場景麼?

為什麼Java可以一次編譯到處執行呢?

Java語言的特性都是有什麼?

HelloWord

JDK的下載和安裝,環境變數的配置,HelloWord程式碼,javac、java命令,Java程式的基本結構

12345複製程式碼
public class HelloJava {    public static void main(String[] args){   System.out.println("Hello world!");    }  }複製程式碼
question:

你知道JDK每個資料夾的作用是什麼嗎?

jdk和jre的區別是什麼?

public static void main(String[] args)每個關鍵字是什麼意思?

資料型別

常量、變數、識別符號、資料型別、保留字、溢位、命名規則、變數型別轉換

question

8大基本資料型別都有什麼?

8大基本型別的數值範圍是什麼?

8大基本型別所佔的記憶體空間分別是多少?

什麼是強制型別轉換和自動轉換?

運算子

算術運算子、邏輯運算子、關係運算子、遞增遞減運算子、三目運算子、運算子的順序

question:

多級運算子組合使用計算結果你會了麼?

++i和i++的區別是什麼?

條件判斷

if、else if、else、switch、case、continue、break、label

question:

continue和break的作用是什麼?

if後面不加括號的話會如何?

switch都是支援什麼資料型別?

迴圈

do-while、while、for、巢狀迴圈

question:

do-while和while的區別是什麼?

陣列

一維陣列、二維陣列、陣列下標、陣列下標越界

question:

陣列的下標從什麼開始的?

什麼情況下會引起陣列下標越界?

物件導向

類的概念、物件的概念、類的成員變數和方法、static關鍵字、建立使用清除物件、構造
方法、過載、方法呼叫引數和返回值、訪問控制符、內部類

question:

一個方法是void表示什麼?

Java方法中引數傳遞是值傳遞還是引用傳遞?

static變數和方法是什麼時候初始化的?

訪問修飾符都是有哪些?

怎麼樣進行方法過載?

深入物件導向

繼承、重寫、抽象類、多型、this關鍵字、super關鍵字、物件的轉型、介面

question:

過載和重寫的區別是什麼?

抽象類和介面的區別是什麼?

一個類可以繼承多個類麼?

子類會繼承父類所有的成員變數和方法麼?

物件導向的三大特徵是什麼?

異常

異常的層次結構、異常處理過程、Error和Exception、try-catch-finally、throw、throws

question:

常見的異常都有什麼?

異常流程中包含多個return時的程式處理流程

Error和Exception的區別是什麼?

throw和throws的區別是什麼?

InputStream、OutputStream、FileInputStream、FileOutputStream、File、FileReader 、FileWriter

question:

位元組流和字元流的區別?

什麼是序列化?

如何實現序列化?

多執行緒

Thread、Runnable 、start、run、主執行緒、系統執行緒、使用者執行緒、執行緒的生命、週期、優先順序

question:

位元組流和字元流的區別?

什麼是序列化?

如何實現序列化?

jdbc

mysql的安裝、mysql基礎命令、jdbc基本API

question:

jdbc的操作步驟是什麼?

相對於Statement,PreparedStatement的優點是什麼?

以上所有內容僅僅是學習Java的最最基礎的知識,如果你是Java初學者,當你完成了以上內容的學習的時候請你保持自我繼續堅持下去,因為後面還有很多知識在等待著你。例如:jsp、servlet、SSM框架、Linux基礎等等。

初學Java的那段日子


相關文章