2.2 常量

2.2 常量
在程序的整個運行過程中,其值保持不變的量稱爲常量。我們要注意常量和常量值是不同的概念。常量值是常量的具體和直觀的表現形式;常量是形式化的表現。在程序中我們既可以直接使用常量值也可以使用常量。我們已經知道存放在計算機內的數據有不同的數據類型,因此在Java程序設計語言中,常量也有多種數據類型。我們先看一下常量值的不同表示形式。

2.2.1 整型常量值
Java的整型常量值有三種形式:
1)十進制數形式,如54,-67,0。
2)八進制數形式,Java中的八進制常數的表示以0開頭,如0125表示十進制數85,-013表示十進制數-11。
3)十六進制數形式,Java中的十六進制常數的表示以0x或0X開頭,如0x100表示十進制數256,-0X16表示十進制數-22。
整型(int)常量默認在內存中佔32位,具有整數類型的值,當運算過程中所需值超過32位長度時,可以把它表示爲“長整型(long)”數值,長整型類型則要在數字後面加L或l,如697L,表示一個長型整數,它在內存中佔64位。

2.2.2 實型常量值
Java的實型常量值有兩種形式:
1)十進制數形式,由數字和小數點組成,且必須有小數點,如12.34,-98.0。
2)科學計數法形式,如:1.75e5或326E3,其中e或E之前必須有數字,且e或E之後的數字必須爲整數。
Java實型常量默認在內存中佔64位,是具有“雙精度型”(double)類型的值。如果考慮到需要節省運行時的系統資源、而運算時的數據值取值範圍並不大且運算精度要求也並不太高的情況下,可以把它表示爲“單精度型”(float)類型的數值,單精度型數值一般要在該常數後面加F或f,如69.7f,表示一個float型實數,它在內存中佔32位(這取決於系統的版本高低)。

2.2.3 字符型和字符串常量值
Java的字符型常量值是用單引號引起來的一個字符,如′e′、′E′,需要特別注意的是,單引號和雙引號在此不可混用,雙引號是用來表示字符串的,″H″、″d″等都是表示單個字符的字符串。除了以上所述形式的字符常量值之外,Java還允許使用一種特殊形式的字符常量值來表示一些難以用一般字符來表示的字符,這種特殊形式的字符是以一個“\”開頭的字符序列,稱爲轉義字符。注意:以上用來表示字符和字符串的單引號和雙引號都必須是英語輸入環境下輸入的符號。表2ˉ2列出了Java中常用的轉義字符及其所表示的意義。

 2.2.4 布爾型常量值
Java的布爾型常量只有兩個值:false(假)和true(真)。

2.2.5 常量的定義和使用

常量不同於常量值,它可以在程序中用符號來代替常量值使用。因此在使用前必須先定義,定義常量的格式如下:
f inal type<常量名>=<常量值>[,<常量名>[=<常量值>]]
其中type是數據類型名,可以參照表2ˉ1。常量名的命名規則就是標識符的命名規則。
如果是同種數據類型的常量可以同時定義,常量與常量之間用逗號分割。“[......]”表示該項可選。常量命名約定:一般常量名都用大寫字母表示,如果有多個單詞組成常量名,單詞之間用下劃線連接。約定與定義是不同的,約定是廣大使用者通過大量的實踐所約定俗成的形式,不遵守是不會影響程序的運行,但會影響與別人的交流,影響程序的可讀性。而定義則不然,會直接影響程序的運行。要成爲一個合格的程序員,大家要熟悉這些約定。
下面通過一個利用已知圓半徑值(R)計算圓面積(S=πR 2 )的例題向大家介紹一下常量的使用。
例2.2.1 常量的使用。

從上例可以看到:程序中常數“3.14”是把它作爲常量值使用;而半徑值“3”則被定義成常量(R)來使用。“\n”是轉義字符,指示程序運行至該處時,將內容換行後繼續輸出。在計算機進行數學處理的過程中,如果一個數超出了計算機的表達範圍,稱爲“溢出”;如果超過最大值,稱爲“上溢”,如果超過最小值,稱爲“下溢”。
Java語言在簡單數據類型包裝類中提供了四個特殊符號常量,用來表示整型的最大值和最小值常量,如表2ˉ3所示。

浮點數在操作過程中不會因溢出而導致異常處理,如果下溢,則結果爲0.0;如果上溢,結果爲正或負無窮大。表2ˉ4列出了Java簡單數據類型包裝類中提供的幾個表示最大值、最小值的實型常量以及其他幾個溢出的實型特殊符號常量。 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章