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

Java 造型(Cast)運算符深度解析:從字面值到縮小/擴大轉換

     編輯:Java 相關知識

什麼是造型?

造型(Cast)意為「與一個模型匹配」。Java 會在適當時機自動轉換類型(如 int → float),但開發者可透過造型明確指定或強制進行轉換。語法:(目標類型)值。

void casts() {
    int i = 200;
    long l = (long)i;      // 變量造型
    long l2 = (long)200;   // 數值造型
}

字面值的類型標識

編譯器通常能推斷字面值類型,但在模糊情況下需額外標識:

  • 十六進制:0x 或 0X 前綴(適用所有整數類型)
  • 八進制:0 前綴
  • 長整數:L 或 l 後綴
  • 浮點數:F/f(float)、D/d(double)
  • 科學記號:e 代表「10 的冪次」(非自然對數底 e),如 1.39e-47f = 1.39×10-47

轉型規則核心

1. 算術/位運算中的自動提升

char、byte、short 參與運算前會自動提升為 int,結果也是 int。賦值回原類型需明確造型(縮小轉換,可能丟失資訊)。

2. 表達式類型由「最大類型」決定

  • float × double → double
  • int + long → long

3. 縮小 vs 擴大轉換

  • 擴大轉換(小→大):自動,安全,無資訊遺失
  • 縮小轉換(大→小):需明確造型,編譯器強制警示風險,可能截斷資料

4. Boolean 與物件的特殊性

boolean 完全不可造型。物件間造型需遵循繼承體系(如 Oak → Tree),無關類別(如 Rock → Tree)無法造型。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved