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

Java 基本資料類型完整指南:從 byte 到 boolean 的核心觀念

     編輯:Java 程式設計入門

Java 基本資料類型完整指南:從 byte 到 boolean 的核心觀念

在 Java 程式設計中,變數是儲存資料的基本單位。當我們宣告變數時,記憶體管理系統會根據資料類型分配相應的儲存空間,且該空間專門用於儲存特定類型的資料。透過定義不同類型的變數,我們可以在記憶體中儲存整數、浮點數、字元或布林值等各類資料。

Java 的兩大資料類型分類

  • 內建資料類型(Primitive Types):Java 提供 8 種基本類型,包含 6 種數值類型(4 種整數、2 種浮點數)、1 種字元類型和 1 種布林類型
  • 參考資料類型(Reference Types):包含類別、介面、陣列等,實際儲存的是物件在記憶體中的參考位址

八種基本資料類型詳細解析

整數類型

類型位元數範圍預設值適用場景
byte8 位元-128 ~ 1270大型陣列節省空間,佔用 int 1/4 空間
short16 位元-32,768 ~ 32,7670節省空間,佔用 int 1/2 空間
int32 位元-2,147,483,648 ~ 2,147,483,6470一般整數運算的預設選擇
long64 位元-2^63 ~ 2^63-10L需要大範圍整數時使用,常數需加 L 後綴

浮點數類型

類型位元數標準預設值注意事項
float32 位元IEEE 754 單精度0.0f常數需加 f/F 後綴,不適合精確計算(如貨幣)
double64 位元IEEE 754 雙精度0.0d浮點數預設類型,同樣不適合精確計算

其他基本類型

  • boolean:僅有 true/false 兩個值,佔 1 位元資訊,預設 false,常作為旗標判斷
  • char:16 位元 Unicode 字元,範圍 '\u0000' (0) 到 '\uffff' (65,535),可儲存任何語言字元

實戰技巧:透過包裝類別取得範圍常數

無需死記硬背各類型範圍,Java 將這些值定義在對應的包裝類別常數中。以下範例示範如何程式化取得所有基本類型的位元數、最小值與最大值:

public class PrimitiveTypeDemo {
    public static void main(String[] args) {
        // byte 範例
        System.out.println("基本類型:byte 位元數:" + Byte.SIZE);
        System.out.println("包裝類別:java.lang.Byte");
        System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
        System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
        System.out.println();
        
        // 其他類型同理:Short, Integer, Long, Float, Double, Character
        // Character 類型輸出時需轉為 int 顯示數值
        System.out.println("最小值:Character.MIN_VALUE=" + (int) Character.MIN_VALUE);
        System.out.println("最大值:Character.MAX_VALUE=" + (int) Character.MAX_VALUE);
    }
}

輸出結果關鍵點:Float 和 Double 的極值會以科學記號顯示(如 3.4028235E38 表示 3.4028235 × 10^38)。另外,Java 還有 void 基本類型,對應 java.lang.Void 包裝類別,但無法直接操作。

參考資料類型

  • 參考變數類似 C/C++ 指標,指向堆疊上的物件實例
  • 宣告時指定具體類型(如 Employee、String),宣告後類型不可變
  • 所有參考類型預設值為 null
  • 範例:Site site = new Site("Runoob");

Java 常量定義與進制表示

使用 final 關鍵字定義常量,慣例採大寫命名(如 final double PI = 3.1415927;)。

進制前綴:八進制以 0 開頭,十六進制以 0x 開頭。範例:int octal = 0144; int hex = 0x64;

字串與字元逸出序列:支援 \n 換行、\t 定位、\\ 反斜線、\" 雙引號、\uxxxx Unicode 字元等。

型別轉換規則與實戰陷阱

自動類型提升(隱性轉換)

資料類型由低向高轉換:byte,short,char → int → long → float → double

條件:目標類型位元數大於來源類型。例如 char → int 自動提升,'a' 自動轉為 ASCII 碼 97。

強制類型轉換(顯性轉換)

語法:(目標類型)值。風險:可能導致資料溢位或精度遺失。

  • 整數縮小範圍:int i = 128; byte b = (byte)i; → 結果 -128(溢位)
  • 浮點轉整數:直接捨去小數位,非四捨五入。(int)23.7 = 23,(int)-45.89f = -45
  • boolean 無法進行任何類型轉換

隱含強制轉換特例

  • 整數常數預設為 int 類型,賦值給 byte/short/char 若在範圍內可隱性轉換
  • 浮點常數預設為 double,指定 float 必須加 f/F 後綴

掌握基本資料類型是 Java 程式設計的基石,下一節將深入探討變數類型與作用域的進階應用。

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