- Java程序設計實戰教程
- 李西明 陳立為主編
- 1600字
- 2025-03-13 16:46:28
2.2.3 數據類型
數據類型除了前面提到過的數值型,還有字符型、日期型等。每個數據類型都有它的取值范圍,編譯器會根據每個變量或常量的數據類型為其分配內存空間。變量中存儲的數據的數據類型應該跟變量聲明的數據類型一致,否則會報錯。例如,如果變量age聲明為整型,則它只能存儲1、2、3等整型數據,而不能存儲1.0、3.14等浮點型數據或'a'、'b'、'c'等字符型的數據。Java的數據類型包括基本數據類型和引用數據類型,各自下面又有分類,如圖2.2所示。其中基本數據類型有8種,如表2.2所示,引用數據類型以后再做介紹。

圖2.2 數據類型分類
表2.2 基本數據類型

1.整數類型
Java使用4種類型的整數:byte、short、int和long。編寫程序時應該為變量選擇最適合的數據類型。例如,知道存儲在變量中的整數是在1字節范圍內,應將該變量聲明為byte型。為了簡單和一致性,本書的大部分內容都使用int來表示整數。
long類型的數據,需要在數字后面加上字母L或l(L的小寫形式)來表示。如果數據的值不超過int的取值范圍,也可省略。示例代碼如下。
public static void main(String[]args) { long data1=1000000000; //沒有超出int的取值范圍,省略字母L long data2=10000000000; //超出了int的取值范圍,報錯 long data3=10000000000L; //加上字母L就不報錯了 }
整數又分為二進制整數、八進制整數、十六進制整數和最常用的十進制整數。
二進制整數:由0和1組成的數字序列,逢二進一,如1101。在Java中二進制整數前面還要加上0b或0B才能表示是二進制數,否則會被當成十進制數,如0b1101或0B1101。
八進制整數:由0、1、2、3、4、5、6、7組成的數字序列,逢八進一,如72。在Java中八進制整數前面還要加上0才能表示是八進制數,否則會被當成十進制數,如072。
十六進制整數:由數字0~9和字母a~f共16個字符組成的序列,其中a代表10,b代表11,依此類推,逢十六進一,如a9。在Java中十六進制整數前面還要加上0x或0X才能表示是十六進制數,否則會報錯或被當成十進制數,如0xa9或0Xa9。
二進制、八進制、十六進制的整數在輸出時都會被轉換成十進制整數。示例代碼如下。
public static void main(String[]args) { int num2=0b1101; System.out.println(num2); num2=1101; //刪除0b將被當成十進制數 System.out.println(num2); int num8=072; System.out.println(num8); num8=72; //刪除0將被當成十進制數 System.out.println(num8); int num16=0xa9; System.out.println(num16); //num16=0xa9; //刪除0x將報錯 }
運行結果:
13 1101 58 72 169
2.浮點型
Java使用兩種類型的浮點數:float和double。double稱為雙精度(double precision),而float稱為單精度(single precision)。通常情況下,應該使用double型,因為它比float型更精確。Java中,在小數后面加上字母F或f表示float型數據,在小數后面加字母D或d表示double型數據。如果一個小數后面不加字母,則默認為double型數據。示例代碼如下。
public static void main(String[]args) { double data1=1.87D; //小數后面加D,表示double型數據 double data2=1.87; //小數后面沒有加D,默認為double型數據 float data3=1.87; //報錯,double型數據不能存入float型變量中 float data4=1.87F; //小數后面加F表示float型數據 }
3.字符型
字符型(char)的變量只能存儲單獨一個字符。賦值時,需要用一對單引號將一個字符引起來再賦值,如char a='a'。也可以將一個整數賦給char型變量,編譯器將自動將整數轉換成ASCII編碼表對應的字符。示例代碼如下。
public static void main(String[]args) { char c1='c'; //賦值字符c System.out.println(c1); char c2=99; //賦值整數99,根據ASCII編碼表,99代表字符c System.out.println(c2); }
運行結果:
c c
4.布爾型
在現實生活中經常要拿兩種事物進行比較,比較結果可能是“真”,也可能是“假”。例如,太陽比地球大,比較結果是“真”;月亮比地球大,比較結果是“假”。比較結果不是“真”就是“假”,只有這兩個取值。布爾型正是用來表示比較結果的,它只有兩個取值,即“真”或“假”,在Java中用關鍵字boolean表示布爾型,它只有兩個取值:true和false,分別代表布爾邏輯中的“真”和“假”。若一個變量聲明為布爾型,則它只能存儲true或false這兩個值之一,而不能存儲其他值。示例代碼如下。
public static void main(String[]args) { boolean bigger; //聲明一個布爾型變量 bigger=true; //賦布爾型數據true,正確 bigger=false; //賦布爾型數據false,正確 bigger=100; //賦整型數據,報錯 }
5.String型
String型不屬于基本數據類型,是類的一種,后面會做詳細介紹。但前面有多處用到它,這里要先做簡單說明。String型又稱字符串型,用于存儲字符串,字符串是由一個或多個鍵盤字符組成的字符序列,用雙引號引起來。例如"HelloWorld"就是一個典型的字符串,可以將它賦給一個String類型的變量。示例代碼如下。
String hello="HelloWorld"
- DevOps for Networking
- 三維圖形化C++趣味編程
- 編寫整潔的Python代碼(第2版)
- Hands-On GPU:Accelerated Computer Vision with OpenCV and CUDA
- Unity 5 for Android Essentials
- C++從入門到精通(第5版)
- Swift 4從零到精通iOS開發
- Python機器學習之金融風險管理
- RubyMotion iOS Develoment Essentials
- 零基礎學C語言(升級版)
- Java程序設計教程
- Python面試通關寶典
- SQL Server on Linux
- 深入理解Java虛擬機:JVM高級特性與最佳實踐
- Joomla!Search Engine Optimization