IT兄弟連 Java語法教程 變數1
- 2019 年 10 月 5 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/ITXDL123/article/details/93462472
什麼是變數
在Java程式中,變數是基本的存儲單元。是在程式運行中值可以改變的一塊記憶體區域。變數是通過標識符(變數名)、變數類型及可選的初始化器來定義的,此外,所有的變數都有作用域,作用域定義了變數的可見性和生命周期。
例如:計算兩個班級的總人數,需要將兩個班級的人數加在一起,在電腦運算過程中需要先分配一塊記憶體保存第一個班級的人數,再分配一塊記憶體保存第二個班級的人數,最後經過CPU的調度進行數學運算得出最後的結果。程式碼如下:
int classA = 20; //定義變數classA保存第一個班級的人數
int classB = 30; //定義變數classB保存第二個班級的人數
int sum = classA + classB; //定義變數sum用來保存兩個班級的總人數
當程式按照順序執行第一行程式碼時,將會分配一塊記憶體空間,這一塊記憶體空間使用標識符classA來表示,記憶體中存儲的數據為20,這一塊記憶體空間稱為「變數」,classA稱為變數名,20就是變數值。上述三行程式碼執行時在記憶體中的狀態如圖1所示。

圖1 變數在記憶體中
「int」定義了變數的數據類型(後面的章節會詳細介紹java語言中的8種基本類型),使用變數時要求必須指明變數的數據類型,這樣Java才會分配合適大小的記憶體空間保存變數的值。
我們還可以使用賦值運算符「=」修改變數的值,這個操作稱為「為變數賦值」。賦值操作將會極大的增加程式的多變性。
變數的聲明
Java語言是強類型(strongly typed)語言,強類型語言包含兩方面含義:
1)所有的變數在使用之前必須先聲明,後使用。
2)指定類型的變數只能接受類型與之匹配的值。
這意味著每個變數和每個表達式都有一個在編譯時就確定的類型。類型限制了一個變數能被賦的值,限制了一個表達式可以產生的值,限制了在這些值上可以進行的操作,並確定了這些操作的含義。
強類型語言可以在編譯時進行更嚴格的語法檢查,從而減少編程錯誤。
聲明變數的語法非常簡單,只需要指定變數的類型和變數名即可,如下所示:
數據類型 變數名 [ = 初始值];
上面的語法中,定義變數時既可以指定初始值,也可以不指定初始值。隨著變數的作用域不同,變數還可能使用其他修飾符。但不管是哪種變數,定義變數至少需要指定變數類型和變數名兩個部分。定義變數時的變數類型可以是Java語言支援的所有類型(基本類型或引用類型)。
變數的聲明就是告訴編譯器這個變數的數據類型和變數的名稱,這樣編譯器才知道需要分配多少記憶體空間給它,以及定義它能放什麼樣的數據。
在聲明變數時,在同一數據類型下可以聲明多個變數,只需要使用「,」進行分隔,如下所示:
數據類型 變數名 [ = 初始值][ , 變數名 [ = 初始值] …];
下面是聲明各種類型變數的一些例子:
int a , b , c; //聲明了三個int型變數:a、b和c
byte z; //聲明一個byte型變數
double pi; //聲明一個double型變數
char x; //聲明一個char型變數
在此選擇的變數名與用來指定變數類型的名稱沒有任何內在聯繫,Java允許將任何形式的正確的變數名聲明為任何類型。
在聲明變數時需要注意以下幾點:
1)變數類型與變數名之間使用空格分隔。
2)每一條Java語句都要以「;」(英文分號)結尾。
3)在一個語句中連續聲明多個變數時,變數名之間使用「,」(英文逗號)分隔。
4)在同一個作用域(下一章節會對作用域進行講解)下變數名不允許重複,否者會編譯錯誤(就像一個班級中有兩個人都叫張三,老師點名張三的時候到底點的是哪個張三?)。
5)遵守變數名稱的命名規範(命名規範會在後面的章節進行講解)。