Java 作為一門成熟、廣泛應用的編程語言,其技術體系龐大。本文旨在為初學者提供一份結構清晰、重點突出的基礎知識速查手冊,涵蓋技術路線選擇、平台架構、環境搭建、核心語法、面向對象基石、集合框架入門等關鍵領域,幫助快速建立完整知識框架。
根據職業目標選擇學習重點:
JVM (Java Virtual Machine)
│
▼
JRE (Java Runtime Environment) = JVM + 標準類庫
│
▼
JDK (Java Development Kit) = JRE + 開發工具(javac, java, javadoc等)
記憶口訣:JVM → JRE → JDK,層層包含,功能遞增。
Path,添加 %JAVA_HOME%\binJAVA_HOME 指向 JDK 安裝目錄CLASSPATH 值為 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar驗證:打開新 CMD 輸入 java -version 與 javac -version。
1. 編寫源碼 → HelloWorld.java 2. 編譯 → javac HelloWorld.java 產生 HelloWorld.class 3. 運行 → java HelloWorld 執行字節碼
| 類別 | 類型 | 位數 | 默認值 | 取值範圍備註 |
|---|---|---|---|---|
| 整數 | byte | 8 | 0 | -128 ~ 127 |
| short | 16 | 0 | -32,768 ~ 32,767 | |
| int | 32 | 0 | 約 ±21 億 | |
| long | 64 | 0L | 約 ±922 京 | |
| 浮點 | float | 32 | 0.0f | 單精度,尾加 F/f |
| double | 64 | 0.0d | 雙精度,默認類型 | |
| 字符 | char | 16 | '\u0000' | Unicode 字符,單引號 |
| 布爾 | boolean | 1(邏輯) | false | true/false,無具體大小 |
byte/short/char → int → long → float → double(目標類型)值,可能損失精度或溢出boolean 不參與任何類型轉換;運算中出現浮點數,結果提升為浮點類型數據類型 變量名 = 初始值; // 例:int age = 18; String name = "張三";
_、$UpperCamelCase(如 UserService)lowerCamelCase(如 userName, getUserById)UPPER_SNAKE_CASE(如 MAX_COUNT)| 分類 | 運算符 | 說明 |
|---|---|---|
| 算術 | + - * / % ++ -- | 取模%常用於判斷奇偶、循環控制 |
| 賦值 | = += -= *= /= %= | 復合賦值隱含強制類型轉換 |
| 比較 | > >= < <= == != | 結果為 boolean |
| 邏輯 | & | ^ ! && || | &&||為短路運算,效率更高 |
| 三目 | (條件)?值1:值2 | 簡化 if-else 賦值場景 |
if:單分支、雙分支、多重 else if、嵌套switch:支持 byte/short/char/int/String/枚舉,注意 break 與 default| 類型 | 語法 | 特點 | 適用場景 |
|---|---|---|---|
| while | while(條件){} | 先判斷後執行,0~n次 | 未知次數循環 |
| do-while | do{}while(條件); | 先執行後判斷,1~n次 | 菜單交互、至少執行一次 |
| for | for(初始化;條件;增量){} | 計數器模式,已知次數 | 遍歷、固定次數迭代 |
| for-each | for(類型 變量:集合/數組){} | 簡化遍歷,無索引訪問 | 只讀遍歷集合/數組 |
修飾符 返回值類型 方法名(參數列表) {
執行語句;
return 返回值; // void 可省略
}
private + 公開 set/get 方法this 代表當前對象引用,兩大用途:
this(參數) 必須置於構造器首行new 關鍵字觸發調用0 開始,長度不可變:arr.lengthArrayIndexOutOfBoundsException、NullPointerException命令行參數
public static void main(String[] args) { // args 接收啟動時傳入的參數 // java MyClass arg1 arg2 → args = {"arg1", "arg2"} }可變參數語法:
數據類型... 參數名,本質是數組,便於調用者傳入 0~n 個參數。十一、String 核心特性
+ 拼接:與任意類型拼接結果均為 Stringnew String() 強制創建堆對象String s = "abc" + 100; // "abc100"
String s1 = "hello";
String s2 = "hello";
String s3 = new String("hello");
s1 == s2; // true(常量池)
s1 == s3; // false(堆 vs 常量池)
s1.equals(s3); // true(內容比較)
Java 學習是場馬拉松,建立知識體系、保持代碼練習、多閱讀優秀開源項目源碼,方能行穩致遠。