Java數據類型分類與基本數據類型轉換

1.數據類型的分類

Java的數據類型主要分為兩類:基本數據類型引用數據類型

Java中的字符串String屬於引用數據類型。因為String是一個類

他們的默認值和字節大小如下:

 byte類型的取值范圍為-128~127,因為1個字節=8位,則一個字節的區間為:[-128,127]

 計算機儲存有符號的整數時,是用該整數的補碼進行存儲的。

註意事項:

Java中的整型常量默認是int類型,聲明long類型常量需要在數值後面加上“l或L”

Java中的小數默認是double類型,聲明float類型常量需要在數值後面加上“f或F”

2.基本數據類型轉換

(1)自動類型轉換

即隱式類型轉換:將小盒子裝到大盒子裡面,小=>大

類型范圍小的變量,可以直接賦值給類型范圍大的變量。

①底層實現原理如下圖所示:

註:char類型也可以轉換為int類型

char類型存放的unicode字符集,字符底層是二進制,二進制也就是數字,並且char占用2個字節,小於int的范圍,所以可以轉換為int類型。

A的ASCII碼是65,a的ASCII碼是97;ASCII碼表中,一個字母的大小寫數值相差32,一般知道大寫字母的ASCII碼數值,其對應的小寫字母的ASCII碼數值就算出來瞭,是大寫字母的ASCII碼數值“+32”。

0的ASCII碼值為48,1的ASCII碼值為49

②示例:

註意事項:

在表達式中,小范圍類型的變量會自動轉換成當前較大范圍的類型再運算。

在表達式中,byte、short、char 是直接轉換成int類型參與運算的

例:

 此處的i和j在做運算時,被轉換為int類型進行計算,所以數據類型應改為int

思考:為什麼要將數據類型轉換成int進行計算?

因為當兩個數都比較小的時候對結果可能沒有影響,一旦兩個數字都比較大,例如110+120=230,超出瞭byte的取值范圍,所以索性直接轉換成int進行計算。

(2)強制類型轉換 

類型范圍大的數據或者變量,不能直接賦值給類型范圍小的變量,會報錯。

可以強行將類型范圍大的變量、數據賦值給類型范圍小的變量。

轉換格式:  數據類型   變量 =  (數據類型)   變量1

①示例

 ②底層實現原理

 強轉成byte類型後隻保留一個字節大小的數據,即1101 1100(補碼形式),符號位是1說明是負數,將補碼轉換成原碼後為1010 0100,對應的十進制為:-36

註意事項: 強制類型轉換可能造成數據(丟失)溢出浮點型強轉成整型,直接丟掉小數部分,保留整數部分返回

到此這篇關於Java數據類型分類與基本數據類型轉換的文章就介紹到這瞭,更多相關Java數據類型轉換內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: