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

Java 八大基本數據類型完整表:取值範圍、字節佔用、包裝類對照

     編輯:Java 相關知識

核心結論:8 基本類型 + 8 包裝類

分類基本類型包裝類字節數位數取值範圍默認值
整數byteByte18-128 ~ 127 (-27 ~ 27-1)0
shortShort216-32,768 ~ 32,767 (-215 ~ 215-1)0
intInteger432-2,147,483,648 ~ 2,147,483,647 (-231 ~ 231-1)0
longLong864-9.22×1018 ~ 9.22×1018 (-263 ~ 263-1)0L
浮點floatFloat432±3.4×1038 (約 6-7 位有效數字)0.0f
doubleDouble864±1.7×10308 (約 15 位有效數字)0.0d
字符charCharacter216\\u0000 ~ \\uFFFF (0 ~ 65,535)\\u0000
布爾booleanBoolean1~4*-true / falsefalse

* boolean 在 JVM 規範中未定義具體大小,通常 1 字節(數組)或 4 字節(局部變量槽)。

關鍵區別與使用建議

1. 整數首選 int

  • CPU 32 位/64 位寄存器天然適配 int,運算最快
  • byte/short 參與運算會自動提升為 int,反而需額外轉換指令
  • long 僅在數值超出 int 範圍時使用(如時間戳、ID 生成)

2. 浮點首選 double

  • Java 默認浮點字面量是 double(如 3.14)
  • float 需後綴 F(3.14F),精度不足導致科學計算誤差
  • 金融計算 嚴禁 用 float/double,必須用 BigDecimal

3. 字面量後綴規範

int   a = 100;      // 無後綴默認 int
long  b = 100L;     // 必須大寫 L(小寫 l 極易混淆 1)
float c = 3.14F;    // 必須 F/f
double d = 3.14;    // 無後綴或 D/d
byte  e = (byte)10; // 強制轉型
char  f = '中';     // 單引號,支持 Unicode \u4e2d

4. 基本類型 vs 包裝類

自動裝箱/拆箱陷阱

Integer a = 100;  // 裝箱:Integer.valueOf(100)
Integer b = 100;
System.out.println(a == b); // true(-128~127 緩存池)

Integer c = 200;
Integer d = 200;
System.out.println(c == d); // false(超出緩存範圍,新建對象)

// 正確比較
System.out.println(c.equals(d)); // true

緩存範圍:Byte/Short/Integer/Long 均為 -128~127,Character 0~127。Boolean 直接返回 TRUE/FALSE 常量。

浮點精度失真演示

System.out.println(0.1 + 0.2); // 0.30000000000000004
System.out.println(1.0 - 0.8); // 0.19999999999999998

// 正確做法
BigDecimal bd = BigDecimal.valueOf(0.1).add(BigDecimal.valueOf(0.2));
System.out.println(bd); // 0.3

總結

掌握 8 大基本類型的 範圍、字節、默認值、包裝類對應 是 Java 基石。實戰原則:整數用 int、浮點用 double、金融用 BigDecimal、集合用包裝類、高性能熱點路徑用基本類型。避免裝箱拆箱在循環中產生,善用緩存池特性優化內存。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
特性基本類型包裝類
內存棧上直接存值堆上存對象引用
默認值有確定默認值null
方法調用不可調用方法可調用 toString/equals/hashCode 等
泛型支持不支持支持(List<Integer>)
性能極高有裝箱/拆箱開銷