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

Java 基礎筆記(三):八大基本數據類型、常量定義與變量作用域完整指南

     編輯:Java 綜合教學

Java 基礎筆記(三):數據類型、常量與變量作用域完整指南

數據類型決定內存佈局與存儲方式。Java 分為基本類型(值語義)與引用類型(引用語義)兩大類。本文系統整理八大基本類型細節、常量定義規範、變量聲明初始化與作用域規則。

一、八大基本數據類型

類別關鍵字位數取值範圍 / 說明
整數類型byte8-128 ~ 127,處理網絡/文件流常用
short16-32,768 ~ 32,767,高字節優先
int32-2,147,483,648 ~ 2,147,483,647,最常用,循環/數組下標
long64極大範圍,後綴 L/l,int 不夠用時使用
浮點類型float32單精度,後綴 F/f,精度較低,大/小數值不精確
double64雙精度,默認類型,Math 函數返回類型,精度要求高首選
字符類型char16Unicode 編碼,單引號括起,可參與整數運算
布爾類型boolean~true/false,關系運算結果,控制語句條件

關鍵細節

  • Java 無無符號整數,所有整數均為有符號(首位為符號位)
  • 整數字面量默認 int;byte/short/int 參與運算自動提升至 int
  • 浮點字面量默認 double;float 需顯式後綴 F/f
  • char 採用 UTF-16,範圍 \u0000 ~ \uFFFF
  • boolean 不能與整數互轉,true != 1,false != 0

二、常量定義規範

使用 final 關鍵字,聲明即賦值,命名全大寫下劃線分隔(如 MAX_CONNECTIONS)。

常量分類與表示

類型示例說明
布爾true / false不可作為整數使用
整型25, -37十進制
010, -015八進制(前綴 0)
0x10, -0X15十六進制(前綴 0x/0X)
1234567Llong 常量需後綴 L/l
浮點3.14f, 2.71Ffloat 後綴 f/F
3.14, 2.71ddouble 默認/後綴 d/D
字符'A', '0', '$'單引號,單字符
轉義字符\n, \t, \\, \', \"控制字符,含 Unicode 編碼
字符串"Hello", "A\nB"雙引號,可含轉義,同一行閉合,+ 連接

字符常量 vs 字符串常量

  • 'A':char 類型,單字符
  • "A":String 類型,對象(非字符數組)
  • C/C++ 字符串是字符數組,Java 字符串是不可變對象

三、變量定義、初始化與作用域

聲明語法

數據類型 變量名 [= 初始值] [, 變量名 [= 初始值] ...];
  • 類型可為基本類型或類/接口名
  • 初始化表達式類型必須兼容
  • 動態初始化:可使用方法調用、其他變量、字面量

四類變量與作用域

類型聲明位置作用域生命周期
成員變量類中,方法外整個類對象創建到銷毀
局部變量方法內/代碼塊內所在方法/代碼塊進入塊創建,退出塊銷毀
方法參數方法簽名整個方法/構造器方法調用期間
異常參數catch (Exception e)catch 塊內異常處理期間

作用域嵌套規則

  • 外層作用域對象對內層可見,內層對外層不可見
  • 離開作用域,變量銷毀,值不保留;重新進入重新初始化
  • Java 禁止 內層作用域聲明與外層同名變量(C/C++ 允許)

代碼示例

class Scope {
    public static void main(String[] args) {
        int x = 10; // main 作用域
        if (x == 10) {
            int y = 20; // if 塊作用域
            System.out.println("x and y: " + x + " " + y); // 可見
            x = y * 2; // 修改外層 x
        }
        // y = 100; // 編譯錯誤:y 已超出作用域
        x = 15; // 正確:x 仍在作用域
    }
}

最佳實踐

  1. 變量作用域最小化:在最近使用處聲明
  2. 優先使用 final 修飾不可變引用
  3. 避免在循環體外聲明僅循環內使用的變量
  4. 成員變量封裝:private + getter/setter
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved