初學Java的那段日子

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

程序語言簡史

最初由0,1組成的機器語言變成了簡單指令的彙編語言,最後纔是高級語言。而高級語言又分爲面向過程語言與面嚮對象語言兩種。而Java就是典型的面嚮對象語言。mysql

question:

你知道哪些高級語言?面試

他們分別是面向過程仍是面向對象呢?sql

程序的工做原理

由於計算機只認識機器語言,因此咱們寫出的代碼想要被計算機執行必須有一個轉換的過程。這個轉換的過程分爲兩種:編譯執行,解釋執行。數組

question:

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

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

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

初識Java

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

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基礎等等。

相關文章
相關標籤/搜索