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!
推薦閱讀:
- Java基本數據類型族譜與易錯點梳理解析
- Java數據類型之細講char類型與編碼關系
- Java基礎-Java基本數據類型
- java——Byte類/包裝類的使用說明
- Java基本數據類型之間的相互轉換詳解