要理解Java語言,理解它的語法非常重要。其關鍵的基本構建塊之一是變數。
Java中什麼是變數
Java中的變數是一個容器,可以儲存一些資料值以供以後在程式中使用。本質上,變數是Java應用程式中不可分割的最小單元。Java 中的變數有兩種類型:用於小資料的變數(原始變數)和用於更複雜、較重的變數(引用變數)。今天我們將討論第一種情況,即變數儲存資料值本身。此類變數稱為原始變數。在 Java 中宣告變數
讓我們來看這個例子:int x = 9;
讓我們看看我們看到的內容: int
- 描述位於 -2147483648 到 2147483647 範圍內的整數的變數類型 x
- 變數的名稱(我們需要將它們彼此區分開,對嗎?) =
某些變數的賦值符號,某些value 9
- 它的直接值是 該命令的結尾。現在讓我們將所有內容放在一起:我們指定具有名稱;
的類型變數具有值。這個例子有一個縮寫形式,完整的形式如下: int
x
9
int x;
x = 9;
在第一行中,我們看到一個變數的宣告並為其分配一個名稱,也就是說,我們告訴JVM為該變數分配空間int
(4個位元組)並為其命名x
。在第二個中我們給它賦值9
。在此之前,它有一個預設值,即0
. 關於命名變數值得多說幾句。通常它們是用低駱駝風格編寫的。也就是說,例如,如果我們有一個描述人數(人數)的變量,那麼適當的名稱是:
int countOfPeople;
在此名稱中,第一個單字以小寫字母開頭,後續每個單字以大寫字母開頭。這樣做是為了使這些名稱更易於閱讀,因為變數名稱通常由多個單字組成。
重新定義變數
讓我們回到變數宣告範例:int x = 9;
如果我們一旦將一個值放入變數中,這並不意味著在程式執行期間該變數x
將始終有一個值9
。我們可以重寫它:
x = 4;
一切都幾乎一樣,但是我們不再添加類型(int
),因為它是在聲明變數(聲明其存在)時註冊的。接下來,我們只會重複使用它,例如在這裡我們看到它被覆蓋(我們將變數設為新值,覆蓋舊值)。假設我們還有一個變數:
int y = 7;
並透過設定:x = y;
變數的舊值x
將被刪除,並被值的副本覆蓋y
,即 - 7
。您也可以設定其他一些變數的值,增加我們需要的數字:
x = y + 5;
由於我們的變數y
等於 7,因此結果x
將等於 12。更有趣的是執行這些操作的能力:
x = x + 6;
我們在這裡看到什麼?此變數x
的值等於過去加 6,即: 12 + 6 = 18。相同的條目可以省略來縮短x
:
x =+ 6;
變數的類型
Java 中的應用程式由類別和物件組成。我們來看看Java變數是什麼:- 物件變數;
- 局部變數;
- 類別變數。
public class Dog {
public void bark() {
}
}
物件變數
變數在類別中聲明,但不在方法、建構子或區塊中聲明。public class Dog {
public int value = 9;
public void bark() {
}
}
要呼叫這個變量,我們需要先建立一個物件:
Dog dog = new Dog();
dog.value;
僅在建立物件之後(即使用 建立物件之後new
)才會建立變數。在物件中,內部變數對於同一物件中的所有方法、建構函式或任何內容始終可見。如上所述,物件變數具有預設值。對於數字,預設值為 0;對於邏輯(布林),預設值為 false;對於物件引用,預設值為 null。
局部變數
這些變數在方法、建構子或區塊中宣告。public class Dog {
public void bark() {
int value = 9;
}
}
局部變數僅存在於被呼叫的程式碼區塊中,在程式碼區塊結束時它們將從記憶體中刪除。它們僅在宣告的方法、建構函式或區塊中可見。也就是說,您不能在其他方法中使用變數。 存取修飾符不能用於局部變數。如果變數在方法的邊界之外不可見,那麼它們有什麼意義呢?這種類型的變數在呼叫方法(或建構函數或區塊)時創建,並在完成時銷毀。
類別變數
這種類型的變數也稱為靜態變數。它們是用修飾詞宣告的static
,但在方法、建構子或區塊的範圍之外。
public class Dog {
public static int value = 9;
public void bark() {
}
}
調用我們的變數:
Dog.value
其中Dog
是變數所附加到的類別的名稱。預設值與物件變數相同。對於數字,預設值為 0,對於布林值,預設值為 false;對於物件引用 - null。無論從類別創建多少個對象,總是有一個靜態變量,因為它僅附加到類別。類別變數在程式啟動時創建,並在程式執行完成時銷毀。Java 中的靜態變數通常在宣告為常數時使用。讓我們更詳細地討論它們。
Java中的常數是什麼
常量是給定的、固定的值,不應改變。程式設計中的常數是什麼?這是在應用程式開始運行之前已知的一些常數值,並且在程式碼中設定一次。在 Java 中,常數是由特殊單字 - 表示的變數final
:
final int VALUE = 54;
這裡我們得到一個變量,在將其設置為任何值後都無法更改。重點是常數比變數簡單得多。它們始終是唯一定義的並且永遠不會改變。上面我們討論了命名變量,我們應該注意命名常數的特殊性。在常數變數中,所有單字都用大寫字母書寫,並用下劃線分隔。_
例如,我們需要一個常數來描述某事物的最大值:
final int MAX_VALUE = 999;
因此,總結一下:為我們提供了一個變數作為儲存資料(或位置地址)的位置,這使我們能夠控制應用程式。原始類型的變數具有可以儲存在記憶體中的特定資料格式、大小和值範圍。變數依位置可分為:物件變數、局部變數、類別變數。有一種特殊類型的變數——常數,它可以是全域變數。它們的範圍是整個程序。
GO TO FULL VERSION