JAVA基礎(8)--- 基本資料型別
Java中的資料型別
基本資料型別
整型
JAVA各整型資料都有固定的表示範圍和欄位長度,其不受具體的作業系統的影響,以保證java程式的可移植性。
JAVA的整型常量預設為int型別,在宣告long型資料時,要在資料後面加 “ l ” 或 “ L ” 來標識
如:int i = 100; //正確
long a = 45687212348L //必須加 “ L ” 否則出錯
在計算機內部,所有資訊都採用二進位制表示,每個二進位制有0和1兩種狀態,一個位元組有8位,也就是由8個0或1組成,如果是short型別的6,在計算機中是如何儲存的?由上圖可知,short是兩個位元組,也就是16位,那麼short型別的6就是00000000 00000110。如果是int型別的6是如何儲存的?同理,int佔4位元組,也就是32位,00000000 00000000 00000000 00000110
Java語言中整型常量有三種表現方式,十進位制、十六進位制和八進位制,其中十進位制的形式最為常用。
八進位制:0 1 2 3 4 5 6 7 注意:八進位制必須以0開頭,如:0123 045 046
十進位制:0 1 2 3 4 5 6 7 8 9 注意:以十進位制表示時,第一位不能為0(數字0除外)
十六進位制:0 1 2 3 4 5 6 7 8 9 A B C D E F 注意:以十六進位制表示時,需以0x或0X開頭,如:0x8a 0X9A
浮點型
Java浮點資料型別與整形資料類似,有固定的表示範圍和欄位長度,不受平臺影響。
Java中浮點型別資料預設為double型別,如果要宣告一個常量為float型別,則需要在數字後面加上“f”或“F”
如:double d = 1234.56; //正確 float f = 12.3F //必須加 “ F ”,否則出錯
浮點數不適用于禁止出現舍入誤差的金融計算中。
例如,命令System.println(2.0-1.1); 將打印出0.9999999999999,而不是人們希望的0.9。出現這種問題的主要原因在於浮點數值是採用二進位制系統表示的。而在二進位制系統中無法精確的表示分數1/10,這就好像十進位制無法精確表示1/3一樣。
字元型
字元常量為用單引號引起來的單個字元,如:char c1 = ‘a’; char c2 = ‘中’
轉義字元
布林型
Boolean型別適用於邏輯運算,一般用於程式流程控制。
Boolean型別資料只允許取值true或flase,不可以0或非0的整數替代true或flase。
資料型別之間的相互轉換
在java中基本資料型別可以相互轉換,boolean型別比較特殊不可以轉換成其它型別
轉換分為預設轉換和強制轉換:
預設轉換:容量小的型別會預設轉換為容大的型別
byte -->short-->int -->long-->float-->double
char-->
byte、short、char之間計算時不會相互轉換,首先轉換成int
強制轉換:將容量大的型別轉換成容量小的型別,需要進行強制轉換。
注意:只要不超出範圍可以將整型值直接賦值給byte、short、char;在多種型別混合運算過程中,首先將所有資料型別轉換成容量最大的那種,再運算
表示式的資料型別自動提升,關於型別的自動提升,注意下面的規則:
1、所有的byte、short、char型的值將被提升為int型
2、如果有一個運算元是long型,計算結果是long型
3、如果有一個運算元是float型,計算結果是float型
4、如果有一個運算元是double型,計算結果是double型