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

Java 八大基本資料類型完整對照表與記憶體佈局

     編輯:Java 程式設計入門

基本類型分類與核心屬性

Java 定義八種基本資料類型,分為四類:整數(4 種)、浮點數(2 種)、字元(1 種)、布林(1 種)。它們非物件,直接儲存在棧記憶體,效能最高。

完整規格對照表

類型關鍵字 中文名稱 位元數 位元組數 取值範圍 預設值 包裝類別
byte 位元組 8 1 -128 ~ 127 0 Byte
short 短整數 16 2 -32,768 ~ 32,767 0 Short
int 整數 32 4 -2,147,483,648 ~ 2,147,483,647 0 Integer
long 長整數 64 8 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 0L Long
float 單精度浮點數 32 4 ±3.40282347×1038 (約 6-7 位有效數字) 0.0f Float
double 雙精度浮點數 64 8 ±1.7976931348623157×10308 (約 15-16 位有效數字) 0.0d Double
char 字元 16 2 \\u0000 ~ \\uFFFF (0 ~ 65,535) \\u0000 Character
boolean 布林 1 (JVM 實作通常用 1 位元組) 1 (實作相關) true / false false Boolean

關鍵細節補充

整數字面值預設為 int

int a = 100;           // 正常
long b = 100;          // 隱式轉型
long c = 3000000000;   // 編譯錯誤!超出 int 範圍
long d = 3000000000L;  // 需加 L 後綴

浮點數字面值預設為 double


float f = 3.14;      // 編譯錯誤
float f = 3.14f;     // 需加 f/F 後綴
double d = 3.14;     // 正常
double d = 3.14d;    // 可選 d/D 後綴

char 實為無符號 16 位整數


char c1 = 'A';        // 字元字面值
char c2 = 65;         // 數值賦值
char c3 = '\u0041';   // Unicode 轉義
char c4 = '\n';       // 轉義字元
// 可參與算術運算
char c5 = 'A' + 1;    // 'B' (66)

boolean 無大小規範

JVM 規範未定義 boolean 確切大小,通常:

  • 陣列中:1 位元組
  • 區域變數/運算棧:1 個槽位 (32 位)
  • 不可與數值互轉,無法用 0/1 替代

記憶體佈局與效能考量

  • 棧上分配:基本類型區域變數存放在執行緒私有棧,存取速度最快
  • 無物件頭開銷:比包裝類別節省 12-16 位元組物件頭
  • 緩存機制:Integer、Short、Byte、Character、Boolean 在特定範圍有緩存
  • 自動裝箱/拆箱:Java 5+ 支援,但頻繁轉換會產生大量暫時物件,影響 GC

選型建議

  1. 整數首選 int,大數值用 long
  2. 浮點數預設用 double,記憶體敏感用 float
  3. 金額計算嚴禁用 float/double,必須用 BigDecimal
  4. 旗標位操作用 int 或 long 配合位元運算
  5. 大量資料陣列考慮基本類型陣列 (int[]) 而非集合
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved