Java數(shù)據類型語法解析
很多編程語言都依賴于特定的計算機類型和對Java數(shù)據類型屬性的具體編譯實現(xiàn),比如word和integerJava數(shù)據類型的大小等。另一方面,Java的虛擬機負責定義其內置Java數(shù)據類型的各方面內容。
Java數(shù)據類型詳解
Java數(shù)據類型就是對內存位置的抽象表達。程序員可以利用多種Java數(shù)據類型:某些由編程語言定義,某些由外部庫定義,還有些則由程序員來定義。很多編程語言都依賴于特定的計算機類型和對Java數(shù)據類型屬性的具體編譯實現(xiàn),比如word和integerJava數(shù)據類型的大小等。另一方面,Java的虛擬機負責定義其內置Java數(shù)據類型的各方面內容。這就意味著不管Java虛擬機(JVM)運行在何等低級的操作系統(tǒng)之上,Java數(shù)據類型的屬性都是完全一樣的。
簡單Java數(shù)據類型
簡單Java數(shù)據類型是不能再簡化的、內置的Java數(shù)據類型,由編程語言定義,表示真實的數(shù)字、字符和整數(shù)。更大、更復雜的Java數(shù)據類型可以采用簡單Java數(shù)據類型的組合來定義。在大多數(shù)情況下,簡單Java數(shù)據類型都具有其硬件等價物。比方說,int簡單類型有時存放在32位硬件寄存器內。Java提供了幾類簡單Java數(shù)據類型表示數(shù)字和字符。
簡單Java數(shù)據類型通常劃分為以下幾種類別:實數(shù)、整數(shù)、字符和布爾值。這些類別中又包含了多種簡單類型。比如說,Java定義了兩種簡單類型:float和double,它們都屬于實數(shù)類別,另外4種簡單類型:byte、short、int和long則都屬于整數(shù)類別。此外還有一種簡單類型char則歸于字符類型。布爾值類別只有一種簡單類型:boolean。表A詳細列出了Java的簡單Java數(shù)據類型.
表AJava簡單Java數(shù)據類型
簡單類型大小范圍/精度
float4字節(jié)32位IEEE754單精度
double8字節(jié)64位IEEE754雙精度
byte1字節(jié)-128到127
short2字節(jié)-32,768到32,767
int4字節(jié)-2,147,483,648到2,147,483,647
long8字節(jié)-9,223,372,036,854,775,808到9,223,372,036,854,775,807
char2字節(jié)整個Unicode字符集
boolean1位True或者false
Java的簡單Java數(shù)據類型
Java中的所有數(shù)字變量都是有符號的,Java不允許Java數(shù)據類型之間隨意的轉換。只有數(shù)字變量之間可以進行類型轉換。比如,boolean就不能轉換為其他Java數(shù)據類型,而且其他Java數(shù)據類型也不能轉換為boolean。
因為Java的簡單Java數(shù)據類型都經過準確定義,而且直接內存訪問也是不允許的,所以在Java語言中取消了sizeof運算符。
Java的簡單Java數(shù)據類型并不是對象。為了采用面向對象方式對待Java簡單Java數(shù)據類型,你需要首先用類封裝它們。#p#
封裝類
Java還提供了Byte、Short、Boolean、Character、Integer、Double、Float和Long等內置的封裝類。這些封裝(wrapper)類提供了很直觀的實用方法。比如,Byte、Float,Integer、Long和Double類都具有doubleValue()方法,通過它可以把存儲在類的實例中的值轉換為Double類型。還有,所有的封裝類都提供了靜態(tài)的valueOf(Strings)方法把給定的String轉換為對應的簡單類型。清單A的代碼演示了這些封裝類的一些用法。
簡單Java數(shù)據類型初始化
在Java語言中,簡單Java數(shù)據類型作為類的成員變量聲明時自動初始化為默認值,除非顯式地聲明。簡單Java數(shù)據類型為某一方法聲明局部變量時不會自動地初始化而且會導致編譯器扔出類似以下的錯誤消息“Variablexmaynothavebeeninitialized.(x變量沒有初始化)”表B定義了Java簡單Java數(shù)據類型的默認值。
表BJava簡單Java數(shù)據類型的默認值
類型 默認值
boolean:false
Byte:0
short:0
int:0
Long:0
Char:´u0000´
Float:0.0
double:0.0
Java簡單Java數(shù)據類型的默認初始值
清單B中的代碼顯示所有的Java簡單Java數(shù)據類型都用做了Initialization類的成員變量。該例還顯示Initialization類的構造器中局部聲明了一個int變量。在不修改以上代碼的情況下,編譯器會在對以上代碼進行編譯的時候扔出錯誤。
一旦引發(fā)問題的代碼行(那些引用未初始化變量導致錯誤發(fā)生的代碼)被刪除或者注釋掉。程序成功編譯和執(zhí)行之后就會顯示以下的結果:
- byte:0
- short:0
- int:0
- long:0
- float:0.0
- double:0.0
- char:0
- boolean:false
我們還可以顯式地初始化成員變量為其他值,如以下代碼所示:
- byteb=5;
- shorts=123;
- inti=1234;
- longl=12345;
- floatf=123.45f;
- doubled=12345.678;
- charc=´A´;
- booleanz=true;
小結
Java定義了全套簡單Java數(shù)據類型。此外,Java取消了其他變成語言中的硬件和編譯器依附,允許程序員把注意力轉移到其他問題上來。
【編輯推薦】