1. 程式人生 > >JAVA基礎(8)--- 基本資料型別

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型