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

Java 資料類型完整指南:八大基本類型與轉換規則

     編輯:Java 綜合教學

Java 八大基本資料類型

分類類型位元數預設值範圍
整數型byte80-128 ~ 127
short160-32,768 ~ 32,767
int320-2,147,483,648 ~ 2,147,483,647
long640L-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
浮點型float320.0f±3.4E-38 ~ ±3.4E+38 (約 7 位有效數字)
double640.0±1.7E-308 ~ ±1.7E+308 (約 15 位有效數字)
字元型char16'\u0000'0 ~ 65,535 (Unicode 字元)
布林型boolean-falsetrue / false

參考類型補充

String 為參考類型 (非基本類型),不可變字元序列,常用於文字處理。

變數宣告方式

方式一:宣告並初始化

int age = 25;
String name = "張三";
double score = 98.5;

方式二:批次宣告同類型變數

int a, b, c; // 宣告三個 int 變數
double x = 1.1, y = 2.2, z = 3.3; // 宣告並初始化

資料類型轉換完整規則

自動類型轉換 (隱式/擴大轉換)

byte → short → int → long → float → double
              char → int
// 記憶體佔用由小到大,精度由低到高
int i = 100;
long l = i; // 自動轉為 long
double d = l; // 自動轉為 double

強制類型轉換 (顯式/縮小轉換)

double → float → long → int → short → byte
// 格式:目標類型 變數 = (目標類型) 來源變數;
double d = 3.14;
int i = (int) d; // i = 3,截斷小數
long l = 10000000000L;
int j = (int) l; // 可能溢位,數值錯誤

轉換細節與陷阱

  1. byte/short/char 運算自動提升為 int
    byte a = 10, b = 20;
    byte c = a + b; // 編譯錯誤!結果為 int
    byte c = (byte)(a + b); // 正確
    short s = 1;
    s = s + 1; // 錯誤
    s += 1; // 正確,隱含強制轉型
  2. 混合運算結果取決於最高精度類型
    int + long → long
    float + double → double
    int + double → double
  3. 字面值類型預設
    整數字面值預設為 int (超出範圍報錯)
    長整數字面值需加 L: 100L
    浮點字面值預設為 double
    單精度需加 f: 3.14f

進制表示法

進制前綴範例十進制值
二進制0b / 0B (Java 7+)0b101010
八進制001210
十進制無1010
十六進制0x / 0X0xA10

常見面試題陷阱

題 1:byte b = 130 結果?

// 編譯錯誤!130 超出 byte 範圍
// 必須強制轉型:byte b = (byte) 130; // 結果 -126

題 2:short s = 1; s = s + 1; 編譯通過嗎?

// 不通過!s+1 為 int 運算,結果 int 無法賦給 short
// 修正:s = (short)(s + 1) 或 s += 1

題 3:long l = 2147483648; 編譯通過嗎?

// 不通過!字面值 2147483648 超出 int 範圍
// 修正:long l = 2147483648L;

最佳實踐建議

  • 整數優先用 int,大數值用 long (加 L)
  • 浮點數優先用 double,省記憶體用 float (加 f)
  • 金額計算嚴禁 float/double,使用 BigDecimal
  • 明確寫出強制轉型,避免隱式精度損失
  • 善用 IDE 編譯提示,捕捉類型不匹配錯誤
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved