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

Java 基礎語法精華:關鍵字、標識符、數據類型、運算符與優先級總覽

     編輯:Java 程式設計入門

關鍵字與標識符規範

  • 關鍵字:被 Java 預留有特殊含義的單字,**不能**作為變量/類/方法名。注意:const、goto 是保留字,**不可使用**,編譯報錯。
  • 標識符命名規則 (硬性規定,違規編譯失敗):
    1. 只能由 字母 (A-Z, a-z)、數字 (0-9)、下劃線 (_)、美元符號 ($) 組成。
    2. 首字符不能是數字,必須是字母、_ 或 $。
    3. 區分大小寫,長度無限制。
    4. 不能是關鍵字/保留字/字面值 (true, false, null)。
  • 命名慣例 (軟性規範,阿里巴巴/Google 風格指南):
    • 類/介面:UpperCamelCase (如 UserService)。
    • 方法/變量:lowerCamelCase (如 getUserName)。
    • 常量:UPPER_SNAKE_CASE (如 MAX_COUNT)。
    • 包名:全小寫、反域名 (如 com.company.project.module)。

八大基本數據類型 (按存儲大小排序)

類型關鍵字位數字節默認值取值範圍
字節型byte810-128 ~ 127
短整型short1620-32,768 ~ 32,767
整型int3240-2^31 ~ 2^31-1
長整型long6480L-2^63 ~ 2^63-1
單精度浮點float3240.0f~±3.4E38 (7-8 位有效數字)
雙精度浮點double6480.0d~±1.7E308 (15-16 位有效數字)
字符型char162'\u0000'0 ~ 65,535 (Unicode)
布爾型boolean1 (JVM 實現相關)—falsetrue / false

類型轉換與運算提升規則 (核心考點)

  1. 自動提升:byte, short, char 參與運算**直接提升為 int**。
  2. 二元運算提升:按優先級 double > float > long > int,低向高提升。
    • 有 double → 全提升為 double。
    • 無 double 有 float → 全提升為 float。
    • 無 float 有 long → 全提升為 long。
    • 否則 → 全為 int (含 byte/short/char 提升後)。
  3. 賦值轉換:大類型賦值給小類型**需強制轉型** (可能損失精度/溢出)。
    int i = 128; byte b = (byte) i; // b = -128 (溢出)
    double d = 3.14; float f = (float) d; // 精度降低
    

運算符分類與優先級 (高 → 低)

優先級類別運算符結合性
1後綴expr++, expr--左→右
2一元++expr, --expr, +, -, ~, !右→左
3算術*, /, %左→右
4算術+, -左→右
5移位<<, >>, >>>左→右
6關系<, <=, >, >=, instanceof左→右
7相等==, !=左→右
8按位與&左→右
9按位異或^左→右
10按位或|左→右
11邏輯與&&左→右
12邏輯或||左→右
13三元? :右→左
14賦值=, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>=右→左

重點運算符詳解

自增自減


int i = 3;
int a = i++; // a=3, i=4 (先用後增)
int b = ++i; // i=5, b=5 (先增後用)
// 經典面試題
int x = 3;
int y = x++ * ++x; // 步驟: x++ 用3 -> x=4; ++x 增至5 -> 用5; y=3*5=15; 最終 x=5

移位運算

  • << n:左移 n 位,低位補 0,**相當於 × 2^n**。
  • >> n:右移 n 位,**符號位擴展** (正數補 0,負數補 1),**相當於 ÷ 2^n** (向零取整)。
  • >>> n:無符號右移,高位**無條件補 0**,負數會變巨大正數。

按位運算

  • & (與):同 1 為 1,**清零/取模** (如 x & 1 判斷奇偶,x & (n-1) 取模 2^n)。
  • | (或):有 1 為 1,**置位**。
  • ^ (異或):不同為 1,**翻轉/交換變量** (無需臨時變量)。
  • ~ (非):按位取反。

三元運算符


int max = (a > b) ? a : b; // 等價於 if-else
// 嵌套慎用,可讀性差

實戰避坑指南

  1. float f = 3.14; **報錯**!浮點數字面值默認 double,需 3.14f 或強轉。
  2. long l = 2147483648; **報錯**!整數字面值默認 int,超範圍需 2147483648L。
  3. byte b = 10; b = b + 1; **報錯**!b+1 提升為 int,賦值回 byte 需強轉。正確:b++ 或 b += 1 (隱含強轉)。
  4. 整數除法 5 / 2 = 2,需 5 / 2.0 得 2.5。
  5. == 比較引用類型地址,內容比較用 equals()。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved