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

Java 變數完整指南:基本型別、宣告規則、作用域、型別轉換與最佳實務

     編輯:Java 相關知識

Java 變數核心概念

變數是程式儲存資料的基本單位。理解型別分類、宣告語法、作用域規則與型別轉換機制,是撰寫正確程式的基礎。

1. 型別分類

類別型別大小預設值範圍/說明
整數byte8 位元0-128 ~ 127
short16 位元0-32,768 ~ 32,767
int32 位元0-2^31 ~ 2^31-1
long64 位元0L-2^63 ~ 2^63-1
浮點float32 位元0.0f單精度,約 7 位有效數字
double64 位元0.0雙精度,約 15 位有效數字
字元char16 位元'\u0000'Unicode 字元,無號整數 0~65535
布林boolean~1 位元falsetrue/false,非 0/1

注意:String 是類別(參考型別),非基本型別。

2. 變數宣告與初始化

// 語法:型別 變數名 [= 初始值];
int count = 0;
double price = 19.99;
char grade = 'A';
boolean isValid = true;

// 同型別多變數宣告(逗號分隔)
int x = 10, y = 20, z = 30;

// 區域變數必須初始化後才能使用
// int a; System.out.println(a); // 編譯錯誤

3. 命名規則與慣例

  • 開頭:字母、_、$(不建議用 $)。
  • 後續:字母、數字、_、$。
  • 不可使用關鍵字(class、int、for 等)。
  • 慣例:駝峰式 camelCase,有意義名稱(userCount 而非 uc)。

4. 變數作用域

變數類型宣告位置作用域範圍生命週期
區域變數方法/建構子/區塊內從宣告處到所在大括號結束方法執行期間
參數方法簽名整個方法體方法呼叫期間
例項欄位類別內、方法外整個類別(視存取修飾詞)物件存在期間
靜態欄位static 修飾整個類別/應用程式類別載入到卸載

區塊作用域範例

public void demo() {
    int x = 1; // 方法作用域
    if (true) {
        int y = 2; // if 區塊作用域
        // x 可見,y 可見
    }
    // y 不可見(編譯錯誤)
    // int y = 3; // 合法:不同區塊可重用名稱
}

遮蔽

內層區塊宣告同名變數會遮蔽外層變數。不建議,易造成混淆。

5. 型別轉換完整規則

自動型別提升(Widening)

byte → short → char → int → long → float → double
short → int → long → float → double
char → int → long → float → double
int → long → float → double
long → float → double
float → double

編譯器自動處理,無資料遺失。

強制型別轉換(Narrowing)

double d = 3.14;
int i = (int) d; // 3,截斷小數
long l = 10000000000L;
int j = (int) l; // 可能溢位,結果不可預期

風險:精度遺失、溢位、符號改變。

基本型別與包裝類別轉換

// 裝箱
Integer obj = 100; // 自動
// 拆箱
int val = obj; // 自動,obj 為 null 拋 NPE

6. 實務建議

  1. 區域變數就近宣告、即時初始化。
  2. 不可變值用 final 修飾。
  3. 避免不必要的強制轉換,設計 API 時統一型別。
  4. 貨幣/精確計算用 BigDecimal,勿用 float/double。
  5. 布林變數命名用 is/has/can 前綴(isActive)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved