Java 變數使用前必須宣告。基本語法:
type identifier [= value] [, identifier [= value] ...];
int a, b, c;
int d = 3, e = 4, f = 5;
byte z = 22;
String s = "runoob";
double pi = 3.14159;
char x = 'x';
| 類型 | 宣告位置 | 生命週期 | 預設值 | 存取修飾符 | 儲存位置 |
|---|---|---|---|---|---|
| 區域變數 | 方法/建構子/區塊內 | 方法執行期間 | 無 (必須初始化) | 不可用 | 堆疊 |
| 實例變數 (成員變數) | 類別中、方法外 | 物件存活期間 | 有 (0/false/null) | 可用 | 堆疊 (物件內) |
| 類別變數 (static) | 類別中、方法外、加 static | 程式執行期間 | 有 (0/false/null) | 可用 | 方法區 (元空間) |
{}) 內。public void pupAge() {
int age = 0; // 初始化
age = age + 7;
System.out.println("小狗年齡: " + age); // 7
}
public void pupAge() {
int age; // 未初始化
age = age + 7; // 編譯錯誤: variable might not have been initialized
}
new) 時建立,物件被 GC 回收時銷毀。private + getter/setter)。obj.field。public class Employee {
public String name; // 公開 (不建議)
private double salary; // 封裝
public Employee(String n) { name = n; }
public void setSalary(double s) { salary = s; }
public void printEmp() {
System.out.println("名字: " + name);
System.out.println("薪水: " + salary);
}
public static void main(String[] args) {
Employee e = new Employee("RUNOOB");
e.setSalary(1000);
e.printEmp();
}
}
// 輸出:名字: RUNOOB / 薪水: 1000.0
static 關鍵字宣告,屬於類別,全類別共享單一副本。final 合用定義常量:public static final String DEPT = "開發";ClassName.var 存取 (也可用物件引用,但不推薦)。public class Employee {
private static double salary;
public static final String DEPARTMENT = "開發人員";
public static void main(String[] args) {
salary = 10000;
System.out.println(DEPARTMENT + "平均薪資: " + salary);
}
}
// 輸出:開發人員平均薪資: 10000.0
// 外部存取:Employee.DEPARTMENT
_、$ 開頭,可含數字,不可為關鍵字。lowerCamelCase (如 myList)。UPPER_SNAKE_CASE (如 MAX_SIZE)。final List list = new ArrayList(); list.add(1); // OK)。this.field / Class.field 澄清。理解變數類型與生命週期,是撰寫正確、高效、可維護 Java 程式的基石。