Java 變量與常量(學習 Java 編程語言 006)

1. 聲明變量

在 Java 中,使用變量來存儲值,每一個變量都有一個類型(type)。在聲明變量時,先指定變量的類型,而後是變量名,變量的聲明以分號結束。這裏有一些聲明變量的示例:java

double salary;
int vacationDays;
long earthPopulation;
boolean done;

2. 變量的命名

變量名必須是一個以字母開頭並由字母或數字構成的序列。ide

  • 變量名中全部的字符都是有意義的,而且大小寫敏感。
  • 變量名的長度基本上沒有限制。
  • 不能使用 Java 保留字做爲變量名。
  • $ 不能用於變量命名。

    儘管 $ 是一個合法的 Java 字符,但不要在你本身的代碼中使用這個字符。它只用在 Java 編譯器或其餘工具生成的名字中。工具

  • 在 Java 9 中,單下換線_不能做爲變量名。

    未來的版本可能使用_做爲通配符。設計

與大多數程序設計語言相比,Java 中的「字母」 和 「數字」的範圍更大。字母包括 'A' ~ 'Z'、'a' ~ 'z'、'_' 、'$' 或在某種語言中表示字母的 Unicode 字符。例如,德國的用戶能夠在變量名中使用字母 'ä';希臘人能夠用 π。一樣,數字包括 '0' ~ '9' 和在某種語言中表示數字的任何 Unicode 字符;但 '+' 和 '©’ 這樣的符號不能出如今變量名中,空格也不行。code

若是想要知道哪些 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; // 都是整型變量

不提倡使用這種風格。逐一聲明每個變量能夠提升程序的可讀性。it

3. 變量初始化

聲明一個變量以後,必須用賦值語句對變量進行顯式初始化,千萬不要使用未初始化的變量。io

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);
    }
}

類常量位於 main 方法的外部。在同一個類的其餘方法也可使用這個常量。若是一個常量被聲明爲 public,那麼其餘類的方法也可使用這個常量。

5. 枚舉類型

枚舉類型包括有限個命名的值。例如:
enum Size{SMALL, MEDIUM, EXTRA_LARGE};
聲明這種類型的變量:
Size s = Size.MEDIUM;

Size 類型的變量只能存儲這個類型聲明中給定的某個枚舉值,或者特殊值 null。null 表示這個變量沒有設置任何值。

相關文章
相關標籤/搜索