| 程式在執行的過程中,需要運算許多的資訊,也需要儲存許多的資訊,這些資訊可能是由使用者輸入、從檔案中取得,甚至是由網路上得到,在程式運行的過程中,
這些資訊透過「變數」(Variable)加以儲存,以便程式隨時取
用。 一個變數用來指向一個記憶體空間,資料就是儲存在這個空間中,使用變數名稱來取得資料相信會比使用記憶體位置來得方便;然而由於資料在儲存時所需要的容量 不一,不同的資料必須要配給不同的空間大小來儲存,在Java中對不同的資料區分有幾種不同的「資料型態」(Data type)。 在Java中基本的資料型態主要區分為「整數」(Integer)、「位元」(Byte)、「浮點數」(Float)、「字元」(Character)與 布林數(Boolean)幾種,而這幾種還可以細分,如下所示: 整數只儲存整數數值,可細分為「短整數」(short)(佔2個位元組)、整數(int)(佔4個位元組)與長整數(long)(佔8個位元組),長整數所佔的記憶體比整數來得多,可表示 的數值範圍也就較大,同樣的整數可表示的整數數值範圍也比短整數來得大。位元Java提供有byte資料型態,專門儲存位元資料,例如影像位元資 料,一個byte資料型態佔一個位元組,而必要的話,byte資料型態也可以用於儲存整數數值。浮點數主要用來儲存小數數值,也可以用來儲存範圍更大的整數,可分為浮點數(float) (佔4個位元組)與倍精度浮點數(double)(佔8個位元組), 倍精度浮點數所使用的記憶體空間比浮點數來得多,可表示的數值範圍與精確度也比較大。字元用來儲存字元,Java的字元採Unicode編碼,其中前128個 字元編碼與ASCII編碼相容;每個字元資料型態佔兩個位元組,可儲存的字元範圍由\ u0000到\uFFFF,由於Java的字元採用Unicode編碼,一個中文字與一個英文字母在Java中同樣都是用一個字元來表示。布林數佔記憶體2個位元組,可儲存true與false兩 個數值,分別表示邏輯的「真」與「假」。因為每種資料型態所佔有的記憶體大小不同,因而可以儲存的數值範圍也就不同,例如整數int的記憶體空間是4個位元組,所以它可以儲存的整數範圍為- 2147483648至2147483647,如果儲存值超出這個範圍的話稱之為「溢 值」(Overflow),會造成程式不可預期的結果,您可以使用下面這個程式獲得數值的儲存範圍:
public class DataRange {
其中Byte、Integer、Long、Float、Double都 是java.lang套件下的類別名稱,而 MAX_VALUE與MIN_VALUE則是各類別中所定義的靜態常數成員,分別表示該資料型態可儲 存的數值最大與最小範圍,%e表示用科學記號顯示,執行結果如下所示:
其中浮點數所取得是正數的最大與最小範圍,加上負號即為負數的最大與最小範圍。 |