首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 基礎核心總結:關鍵字、標識符、註釋、常變量、數據類型、運算符與流程控制

     編輯:Java 綜合教學

Java 基礎核心總結:關鍵字、標識符、註釋、常變量、數據類型、運算符與流程控制

Java 語言基石知識體系,涵蓋詞法結構、類型系統、運算邏輯與控制流。本文按認知遞進順序重構,適合初學建立完整知識圖譜,也可作為資深開發者的快速檢索手冊。

一、關鍵字——語言的保留字彙

關鍵字全部小寫,被賦予特殊語義,不可作標識符。按功能分類:

分類關鍵字
數據類型class, interface, byte, short, int, long, float, double, char, boolean, void
字面值true, false, null
流程控制if, else, switch, case, default, while, do, for, break, continue, return
訪問修飾private, protected, public
類/方法/變量修飾abstract, final, static, synchronized
繼承關係extends, implements
對象操作new, this, super, instanceof
異常處理try, catch, finally, throw, throws
包機制package, import
其他修飾native, strictfp, transient, volatile, assert

特殊提醒:goto、const 為保留字,現無作用;var (Java 10+) 為保留類型名,非關鍵字。

二、標識符——命名的規範與藝術

硬性規則

  • 組成:字母、數字、_、$
  • 不以數字開頭
  • 不可使用關鍵字
  • 嚴格區分大小寫

軟性規約(阿里/Google 風格)

三、註釋——代碼的說明書

類型命名風格範例
包名全小寫,多級用點分隔com.company.project.module
類/接口UpperCamelCaseUserService, Serializable
方法/變量lowerCamelCasegetUserById, maxCount
常量全大寫,下劃線分隔MAX_BUFFER_SIZE
類型語法特點適用場景
單行// 註釋JVM 忽略行內說明、臨時屏蔽
多行/* 註釋 */JVM 忽略,不可嵌套代碼塊說明、大段屏蔽
文檔/** 註釋 */javadoc 解析生成 HTMLAPI 公開接口、類、字段

最佳實踐:先寫文檔註釋梳理設計,再填充代碼;公開 API 必須覆蓋 @param、@return、@throws。

四、常量與變量——數據的載體

常量字面值分類

  • 整數:十進制 123、八進制 0173、十六進制 0x7B、二進制 0b1111011 (Java 7+)
  • 浮點:3.14、科學計數法 1.5E2
  • 布爾:true、false
  • 字符:'A'、轉義 '\n'、Unicode '\u0041'
  • 字符串:"Hello"
  • 空值:null

進制轉換核心

  • 十進制 → 二進制:除 2 取餘,逆序
  • 二進制 → 十進制:按權展開求和
  • 負數二進制:正數取反 + 1(補碼表示)

變量聲明範式

數據類型 變量名 = 初始值;
// 例
int age = 18;
double price = 19.9;
boolean isVip = false;
  • 作用域:一對 {} 內有效
  • 初始化:局部變量必須顯式初始化;成員變量有默認值

五、數據類型——強類型的內存佈局

Java 8 基本類型(boolean 占 1 位邏輯,實際存儲實現相關):

類型位數字節範圍默認值
byte81-128 ~ 1270
short162-32,768 ~ 32,7670
int324-2^31 ~ 2^31-10
long648-2^63 ~ 2^63-10L
float324±1.4E-45 ~ ±3.4E380.0f
double648±4.9E-324 ~ ±1.7E3080.0
char1620 ~ 65,535 (Unicode)'\u0000'
boolean~1~1true/falsefalse

默認類型:整數字面值默認 int,浮點默認 double(需 1.5f、10L 顯式指定)。

類型轉換體系

  • 自動提升:byte/short/char → int → long → float → double
  • 表達式提升:混合運算按最高類型提升
  • 強制轉換:(targetType) value,可能溢出/精度損失
  • 賦值運算符特權:short s=3; s+=2; 隱含強轉,s=s+2 編譯報錯

六、運算符——表達式的計算規則

1. 算術運算符

運算符含義注意點
+ - * /加減乘除整數除法僅保留整數部分
%取模負數被模數:結果符號跟隨被模數
+字符串連接任意類型 + String → String

2. 賦值運算符

=, +=, -=, *=, /=, %= —— 複合賦值隱含強轉,鏈式賦值 a=b=c=3 從右向左結合。

3. 比較運算符

==, !=, >, <, >=, <= —— 結果均為 boolean;嚴禁 if (x = 1)。

4. 邏輯運算符

運算符名稱短路特性
&&邏輯與左假右不算
||邏輯或左真右不算
!邏輯非取反
&按位與/邏輯與不短路,雙方必算
|按位或/邏輯或不短路
^異或相同為 false,不同為 true

5. 位運算符——二進制級操作

運算符操作等價數學範例
<<左移× 2^n3 << 2 = 12
>>右移(帶符號)÷ 2^n3 >> 1 = 1
>>>無符號右移高位補 0-8 >>> 1 = 2147483644
&按位與清零/取位6 & 3 = 2
|按位或置位6 | 3 = 7
^按位異或翻轉/交換6 ^ 3 = 5
~按位取反~x = -x-1~6 = -7

技巧:a ^= b; b ^= a; a ^= b; 無第三變量交換兩整數。

6. 三元運算符

條件 ? 表達式1 : 表達式2
// 例:取較大值
int max = (a > b) ? a : b;

與 if-else 差異:三元運算符為表達式,有返回值,可嵌套在賦值/參數/返回語句中。

七、流程控制——程序的執行骨架

1. 判斷結構

switch (expr) {  // expr: byte/short/int/char/String(Java 7+)/enum
    case val1: stmt; break;
    case val2: stmt; break;
    default: stmt; break;
}
  • break 缺失導致「貫穿」
  • case/default 順序不影響匹配

3. 循環結構

無限循環慣用:while(true)、for(;;)。

4. 跳轉語句

  • break:跳出最近 switch 或循環
  • continue:結束本次循環,進入下次判斷
  • 標號:outer: for(...) { inner: for(...) { break outer; } } 實現多層跳出
  • 無到達代碼編譯報錯

八、總結

Java 基礎語法雖顯基礎,但每個細節都關繫著運行時行為與代碼質量:

  1. 類型系統決定內存佈局與轉換規則
  2. 運算符優先級/短路/隱式轉換影響邏輯正確性
  3. 流程結構構建程序執行路徑
  4. 命名規範與註釋決定團隊協作效率

建議將本文作為「語法速查表」收藏,遇到邊界場景(如 short s=3; s+=2、-8 >>> 1、switch(String))快速定位驗證。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
類型語法特點
whilewhile(cond){...}先判斷後執行,可零次
do-whiledo{...}while(cond);先執行後判斷,至少一次
forfor(init; cond; step){...}計數器作用域限於循環,推薦已知次數