在程式中存在大量的資料來代表程式的狀態,其中有些資料在程式的執行過程中值會發生改變,有些資料在程式執行過程中值不能發生改變,這些資料在程式中分別被叫做變數和常量。那麼,變數和常量之間有什麼區別呢?下面小編給大家整理了Java語言中變數和常量之間的區別,供大家參閱。
一、變數
變數代表程式的狀態。程式通過改變變數的值來改變整個程式的狀態,或者說得更大一些,也就是實現程式的功能邏輯。
為了方便的引用變數的值,在程式中需要為變數設定一個名稱,這就是變數名。例如在2D遊戲程式中,需要代表人物的位置,則需要2個變數,一個是x座標,一個是y座標,在程式執行過程中,這兩個變數的值會發生改變。
由於Java語言是一種強型別的語言,所以變數在使用以前必須首先宣告,在程式中宣告變數的語法格式如下
資料型別 變數名稱;
例如:int x;
在該語法格式中,資料型別可以是Java語言中任意的型別,包括前面介紹到的基本資料型別以及後續將要介紹的複合資料型別。變數名稱是該變數的識別符號,需要符合識別符號的命名規則,在實際使用中,該名稱一般和變數的用途對應,這樣便於程式的閱讀。
資料型別和變數名稱之間使用空格進行間隔,空格的個數不限,但是至少需要1個。語句使用“;”作為結束。
也可以在宣告變數的設定該變數的值,語法格式如下
資料型別 變數名稱 = 值;
例如:int x = 10;
在該語法格式中,前面的語法和上面介紹的內容一致,後續的“=”代表賦值,其中的“值”代表具體的資料。在該語法格式中,要求值的型別需要和宣告變數的資料型別一致。
也可以一次宣告多個相同型別的變數,語法格式如下:資料型別 變數名稱1,變數名稱2,…變數名稱n;例如:int x,y,z;在該語法格式中,變數名之間使用“,”分隔,這裡的.變數名稱可以有任意多個。
也可以在宣告多個變數時對變數進行賦值,語法格式如下
資料型別 變數名稱1=值1,變數名稱2=值2,…變數名稱n=值n;
例如:
int x = 10,y=20,z=40;
也可以在宣告變數時,有選擇的進行賦值,例如:int x,y=10,z;以上語法格式中,如果同時宣告多個變數,則要求這些變數的型別必須相同,如果宣告的變數型別不同,則只需要分開宣告即可,例如
int n = 3;
boolean b = true;
char c;
在程式中,變數的值代表程式的狀態,在程式中可以通過變數名稱來引用變數中儲存的值,也可以為變數重新賦值。例如:
int n = 5;
n = 10;
在實際開發過程中,需要宣告什麼型別的變數,需要宣告多少個變數,需要為變數賦什麼數值,都根據程式邏輯決定,這裡列舉的只是表達的格式而已。
二、常量
常量代表程式執行過程中不能改變的值。
常量在程式執行過程中主要有2個作用。
分別為代表常數,便於程式的修改和增強程式的可讀性。
常量的語法格式和變數型別,只需要在變數的語法格式前面新增關鍵字final即可。在Java編碼規範中,要求常量名必須大寫。
則常量的語法格式如下
final 資料型別 常量名稱 = 值;
final 資料型別常量名稱1 = 值1, 常量名稱2 = 值2,……常量名稱n = 值n;
例如:
final double PI = 3.14;
final char MALE=‘M’,FEMALE=‘F’;
在Java語法中,常量也可以首先宣告,然後再進行賦值,但是隻能賦值一次,示例程式碼如下:
final int UP;
UP = 1;
常量的兩種用途對應的示例程式碼分別如下:
代表常數
final double PI = 3.14;
int r =5;
double l = 2 * PI * r;
double s = PI * r * r;
在該示例程式碼中,常量PI代表數學上的∏值,也就是圓周率,這個是數學上的常數,後續的變數r代表半徑,l代表圓的周長,s代表圓的面積。
則如果需要增加程式計算時的精度,則只需要修改PI的值3.14為3.1415926,重新編譯程式,則後續的數值自動發生改變,這樣使程式碼容易修改,便於維護。
增強程式的可讀性
int direction;
final int UP = 1;
final int DOWN = 2;
final int LEFT = 3;
final int RIGHT = 4;
在該示例程式碼中,變數direction代表方向的值,後續的四個常量UP、DOWN、LEFT和RIGHT分辨代表上下左右,其數值分別是1、2、3和4,這樣在程式閱讀時,可以提高程式的可讀性。