| 導購 | 订阅 | 在线投稿
分享
 
 
 

面向對象編程:Java的簡單數據類型

來源:互聯網  2008-05-19 06:33:25  評論

數據類型就是對內存位置的抽象表達。程序員可以利用多種數據類型:某些由編程語言定義,某些由外部庫定義,還有些則由程序員來定義。很多編程語言都依賴于特定的計算機類型和對數據類型屬性的具體編譯實現,比如word和integer數據類型的大小等。另一方面,Java的虛擬機負責定義其內置數據類型的各方面內容。這就意味著不管Java虛擬機(JVM)運行在何等低級的操作系統之上,數據類型的屬性都是完全一樣的。

簡單數據類型

簡單數據類型是不能再簡化的、內置的數據類型,由編程語言定義,表示真實的數字、字符和整數。更大、更複雜的數據類型可以采用簡單數據類型的組合來定義。在大多數情況下,簡單數據類型都具有其硬件等價物。比方說,int簡單類型有時存放在32位硬件寄存器內。Java提供了幾類簡單數據類型表示數字和字符。

簡單數據類型通常劃分爲以下幾種類別:實數、整數、字符和布爾值。這些類別中又包含了多種簡單類型。比如說,Java定義了兩種簡單類型:float和double,它們都屬于實數類別,另外4種簡單類型:byte、short、int和long則都屬于整數類別。此外還有一種簡單類型char則歸于字符類型。布爾值類別只有一種簡單類型:boolean。表A詳細列出了Java的簡單數據類型.

表A Java簡單數據類型

簡單類型 大小 範圍/精度

float 4 字節 32位IEEE 754單精度

double 8 字節 64位IEEE 754雙精度

byte 1字節 -128到127

short 2 字節 -32,768到32,767

int 4 字節 -2,147,483,648到2,147,483,647

long 8 字節 -9,223,372,036,854,775,808到9,223,372,036, 854,775,807

char 2 字節 整個Unicode字符集

boolean 1 位 True或者false

Java的簡單數據類型

Java中的所有數字變量都是有符號的,Java不允許數據類型之間隨意的轉換。只有數字變量之間可以進行類型轉換。比如,boolean就不能轉換爲其他數據類型,而且其他數據類型也不能轉換爲boolean。

因爲Java的簡單數據類型都經過准確定義,而且直接內存訪問也是不允許的,所以在Java語言中取消了sizeof運算符。

Java的簡單數據類型並不是對象。爲了采用面向對象方式對待Java簡單數據類型,你需要首先用類封裝它們。

封裝類

Java還提供了Byte、Short、Boolean、Character、Integer、Double、Float和Long等內置的封裝類。這些封裝(wrapper)類提供了很直觀的實用方法。比如,Byte、Float, Integer、Long和Double類都具有doubleValue()方法,通過它可以把存儲在類的實例中的值轉換爲Double類型。還有,所有的封裝類都提供了靜態的valueOf(String s)方法把給定的String轉換爲對應的簡單類型。清單A的代碼演示了這些封裝類的一些用法。

簡單數據類型初始化

在Java語言中,簡單數據類型作爲類的成員變量聲明時自動初始化爲默認值,除非顯式地聲明。簡單數據類型爲某一方法聲明局部變量時不會自動地初始化而且會導致編譯器扔出類似以下的錯誤消息「Variable x may not have been initialized.(x變量沒有初始化)」表B定義了Java簡單數據類型的默認值。

表B Java簡單數據類型的默認值

類型

默認值

boolean

false

Byte

0

short

0

int

0

Long

0

Char

´\u0000´

Float

0.0

double

0.0

Java簡單數據類型的默認初始值

清單B 中的代碼顯示所有的Java簡單數據類型都用做了Initialization類的成員變量。該例還顯示Initialization類的構造器中局部聲明了一個int變量。在不修改以上代碼的情況下,編譯器會在對以上代碼進行編譯的時候扔出錯誤。

一旦引發問題的代碼行(那些引用未初始化變量導致錯誤發生的代碼)被刪除或者注釋掉。程序成功編譯和執行之後就會顯示以下的結果:

byte: 0

short: 0

int: 0

long: 0

float: 0.0

double: 0.0

char: 0

boolean: false

我們還可以顯式地初始化成員變量爲其他值,如以下代碼所示:

byte b = 5;

short s = 123;

int i = 1234;

long l = 12345;

float f = 123.45f;

double d = 12345.678;

char c = ´A´;

boolean z = true;

小結

Java定義了全套簡單數據類型。此外,Java取消了其他變成語言中的硬件和編譯器依附,允許程序員把注意力轉移到其他問題上來。在下一篇文章裏,我們將繼續討論某些經常用到的、Java定義的複雜數據類型,同時了解下如何利用它們來處理典型的編程問題。

  數據類型就是對內存位置的抽象表達。程序員可以利用多種數據類型:某些由編程語言定義,某些由外部庫定義,還有些則由程序員來定義。很多編程語言都依賴于特定的計算機類型和對數據類型屬性的具體編譯實現,比如word和integer數據類型的大小等。另一方面,Java的虛擬機負責定義其內置數據類型的各方面內容。這就意味著不管Java虛擬機(JVM)運行在何等低級的操作系統之上,數據類型的屬性都是完全一樣的。   簡單數據類型   簡單數據類型是不能再簡化的、內置的數據類型,由編程語言定義,表示真實的數字、字符和整數。更大、更複雜的數據類型可以采用簡單數據類型的組合來定義。在大多數情況下,簡單數據類型都具有其硬件等價物。比方說,int簡單類型有時存放在32位硬件寄存器內。Java提供了幾類簡單數據類型表示數字和字符。   簡單數據類型通常劃分爲以下幾種類別:實數、整數、字符和布爾值。這些類別中又包含了多種簡單類型。比如說,Java定義了兩種簡單類型:float和double,它們都屬于實數類別,另外4種簡單類型:byte、short、int和long則都屬于整數類別。此外還有一種簡單類型char則歸于字符類型。布爾值類別只有一種簡單類型:boolean。表A詳細列出了Java的簡單數據類型.   表A Java簡單數據類型   簡單類型 大小 範圍/精度   float 4 字節 32位IEEE 754單精度   double 8 字節 64位IEEE 754雙精度   byte 1字節 -128到127   short 2 字節 -32,768到32,767   int 4 字節 -2,147,483,648到2,147,483,647   long 8 字節 -9,223,372,036,854,775,808到9,223,372,036, 854,775,807   char 2 字節 整個Unicode字符集   boolean 1 位 True或者false   Java的簡單數據類型   Java中的所有數字變量都是有符號的,Java不允許數據類型之間隨意的轉換。只有數字變量之間可以進行類型轉換。比如,boolean就不能轉換爲其他數據類型,而且其他數據類型也不能轉換爲boolean。   因爲Java的簡單數據類型都經過准確定義,而且直接內存訪問也是不允許的,所以在Java語言中取消了sizeof運算符。   Java的簡單數據類型並不是對象。爲了采用面向對象方式對待Java簡單數據類型,你需要首先用類封裝它們。   封裝類   Java還提供了Byte、Short、Boolean、Character、Integer、Double、Float和Long等內置的封裝類。這些封裝(wrapper)類提供了很直觀的實用方法。比如,Byte、Float, Integer、Long和Double類都具有doubleValue()方法,通過它可以把存儲在類的實例中的值轉換爲Double類型。還有,所有的封裝類都提供了靜態的valueOf(String s)方法把給定的String轉換爲對應的簡單類型。清單A的代碼演示了這些封裝類的一些用法。   簡單數據類型初始化   在Java語言中,簡單數據類型作爲類的成員變量聲明時自動初始化爲默認值,除非顯式地聲明。簡單數據類型爲某一方法聲明局部變量時不會自動地初始化而且會導致編譯器扔出類似以下的錯誤消息「Variable x may not have been initialized.(x變量沒有初始化)」表B定義了Java簡單數據類型的默認值。   表B Java簡單數據類型的默認值   類型   默認值   boolean   false   Byte   0   short   0   int   0   Long   0   Char   ´\u0000´   Float   0.0   double   0.0   Java簡單數據類型的默認初始值   清單B 中的代碼顯示所有的Java簡單數據類型都用做了Initialization類的成員變量。該例還顯示Initialization類的構造器中局部聲明了一個int變量。在不修改以上代碼的情況下,編譯器會在對以上代碼進行編譯的時候扔出錯誤。   一旦引發問題的代碼行(那些引用未初始化變量導致錯誤發生的代碼)被刪除或者注釋掉。程序成功編譯和執行之後就會顯示以下的結果:   byte: 0   short: 0   int: 0   long: 0   float: 0.0   double: 0.0   char: 0   boolean: false   我們還可以顯式地初始化成員變量爲其他值,如以下代碼所示:   byte b = 5;   short s = 123;   int i = 1234;   long l = 12345;   float f = 123.45f;   double d = 12345.678;   char c = ´A´;   boolean z = true;   小結   Java定義了全套簡單數據類型。此外,Java取消了其他變成語言中的硬件和編譯器依附,允許程序員把注意力轉移到其他問題上來。在下一篇文章裏,我們將繼續討論某些經常用到的、Java定義的複雜數據類型,同時了解下如何利用它們來處理典型的編程問題。
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有