1. 聲明變量
在 Java 中,使用變量來存儲值,每個變量都有一個類型(type)。在聲明變量時,先指定變量的類型,然後是變量名,變量的聲明以分号結束。這裡有一些聲明變量的示例:
double salary;
int vacationDays;
long earthPopulation;
boolean done;
2. 變量的命名
變量名必須是一個以字母開頭并由字母或數字構成的序列。
- 變量名中所有的字元都是有意義的,并且大小寫敏感。
- 變量名的長度基本上沒有限制。
- 不能使用 Java 保留字作為變量名。
- $ 不能用于變量命名。
盡管 $ 是一個合法的 Java 字元,但不要在你自己的代碼中使用這個字元。它隻用在 Java 編譯器或其他工具生成的名字中。
- 在 Java 9 中,單下換線_不能作為變量名。
将來的版本可能使用_作為通配符。
與大多數程式設計語言相比,Java 中的“字母” 和 “數字”的範圍更大。字母包括 'A' ~ 'Z'、'a' ~ 'z'、'_' 、'$' 或在某種語言中表示字母的 Unicode 字元。例如,德國的使用者可以在變量名中使用字母 'ä';希臘人可以用 π。同樣,數字包括 '0' ~ '9' 和在某種語言中表示數字的任何 Unicode 字元;但 '+' 和 '©’ 這樣的符号不能出現在變量名中,空格也不行。
如果想要知道哪些 Unicode 字元屬于 Java 中的 “字母”,可以使用 Character 類的 isJavaIdentifierStart 和 isJavaIdentifierPart 方法來檢查。
boolean isIdentifier = false;
isIdentifier = Character.isJavaIdentifierStart(' ');
System.out.println(isIdentifier); // 輸出 false
isIdentifier = Character.isJavaIdentifierStart('+');
System.out.println(isIdentifier); // 輸出 false
isIdentifier = Character.isJavaIdentifierStart('©');
System.out.println(isIdentifier); // 輸出 false
isIdentifier = Character.isJavaIdentifierStart('ä');
System.out.println(isIdentifier); // 輸出 true
isIdentifier = Character.isJavaIdentifierStart('π');
System.out.println(isIdentifier); // 輸出 true
isIdentifier = Character.isJavaIdentifierStart('$');
System.out.println(isIdentifier); // 輸出 true
isIdentifier = Character.isJavaIdentifierStart('_');
System.out.println(isIdentifier); // 輸出 true
isIdentifier = Character.isJavaIdentifierPart(' ');
System.out.println(isIdentifier); // 輸出 false
isIdentifier = Character.isJavaIdentifierPart('+');
System.out.println(isIdentifier); // 輸出 false
isIdentifier = Character.isJavaIdentifierPart('©');
System.out.println(isIdentifier); // 輸出 false
isIdentifier = Character.isJavaIdentifierPart('ä');
System.out.println(isIdentifier); // 輸出 true
isIdentifier = Character.isJavaIdentifierPart('π');
System.out.println(isIdentifier); // 輸出 true
isIdentifier = Character.isJavaIdentifierPart('$');
System.out.println(isIdentifier); // 輸出 true
isIdentifier = Character.isJavaIdentifierPart('_');
System.out.println(isIdentifier); // 輸出 true
可以在一行中聲明多個變量:
int i, j; // 都是整型變量
不提倡使用這種風格。逐一聲明每一個變量可以提高程式的可讀性。
3. 變量初始化
聲明一個變量之後,必須用指派語句對變量進行顯式初始化,千萬不要使用未初始化的變量。
int vacationDays;
System.out.println(vacationDays); // 錯誤,變量沒有初始化
想要對一個已經聲明過的變量進行指派,隻需要将變量名放在等号(=)左側,相應取值的 Java 表達式放在等号的右側。
int vacationDays;
vacationDays = 12;
也可以将變量的聲明和初始化放在同一行中。
int vacationDays = 12;
在 Java 中,變量的聲明盡可能地靠近第一次使用的地方,這是一種良好的程式編寫風格。
從 Java 10 開始,對于局部變量,如果可以從變量的初始值推斷出它的類型,就不再需要聲明類型。隻需要使用關鍵字 var 而無需指定類型:
var vacationDays =12; // vacationDays 是整型變量
var geeting = "Hello"; // greeting 是一個字元串
4. 常量
在 Java 中,常量就是值不變的變量。利用關鍵字 final 訓示常量。
public class Constans
{
public static void main(String[] args) {
final double CM_PRE_INCH = 2.54;
double paperWidth = 8.5;
double paperHeight = 11;
System.out.println("Paper size centimeters:" +
+ paperWidth * CM_PRE_INCH + " by " + paperHeight * CM_PRE_INCH);
}
}
關鍵字 final 表示這個變量隻能被指派一次。一旦被指派之後,就不能夠再更改了。習慣上,常量名使用全大寫。
在 Java 中,經常希望某個常量可以在一個類中的多個方法使用,通常将這些常量稱為類常量(class constant)。可以使用關鍵字
static final
設定一個類常量。
public class Constans {
public static final double CM_PRE_INCH = 2.54;
public static void main(String[] args) {
double paperWidth = 8.5;
double paperHeight = 11;
System.out.println("Paper size centimeters:" +
+ paperWidth * CM_PRE_INCH + " by " + paperHeight * CM_PRE_INCH);
}
}