
文章插圖
前言Java語(yǔ)言的數(shù)據(jù)類型是Java語(yǔ)言中最基礎(chǔ)也是最重要的知識(shí),參加Java筆試的時(shí)候應(yīng)該是必考的,參加面試的時(shí)候也有可能會(huì)問(wèn)到,以此考察面試者對(duì)Java基礎(chǔ)知識(shí)的掌握程度 。
Java語(yǔ)言的數(shù)據(jù)類型可以分為:基本數(shù)據(jù)類型和引用數(shù)據(jù)類型 。在Java中,引用數(shù)據(jù)類型的變量非常類似于C/C++的指針,對(duì)象、數(shù)組都是引用數(shù)據(jù)類型 。本文重點(diǎn)介紹Java的基本數(shù)據(jù)類型 。
Java基本數(shù)據(jù)類型Java語(yǔ)言內(nèi)置的基本數(shù)據(jù)類型共有8種,可以分為四類:
整數(shù)類型:long、int、short、byte浮點(diǎn)類型:float、double字符類型:char布爾類型:boolean整數(shù)類型
四種整數(shù)類型分別有不同的位數(shù):
byte 數(shù)據(jù)類型是8位、有符號(hào)的以二進(jìn)制補(bǔ)碼表示的整數(shù);short 數(shù)據(jù)類型是 16 位、有符號(hào)的以二進(jìn)制補(bǔ)碼表示的整數(shù);int 數(shù)據(jù)類型是32位、有符號(hào)的以二進(jìn)制補(bǔ)碼表示的整數(shù);long 數(shù)據(jù)類型是 64 位、有符號(hào)的以二進(jìn)制補(bǔ)碼表示的整數(shù) 。有符號(hào)數(shù)是指數(shù)值有正負(fù)號(hào)的區(qū)別 。計(jì)算機(jī)中的有符號(hào)數(shù)有三種表示方法,即原碼、反碼和補(bǔ)碼 。三種表示方法均有符號(hào)位和數(shù)值位兩部分,符號(hào)位都是用0表示“正”,用1表示“負(fù)”,而數(shù)值位,三種表示方法各不相同 。
二進(jìn)制補(bǔ)碼:正整數(shù)的補(bǔ)碼是其二進(jìn)制表示;0的補(bǔ)碼就是全0;負(fù)整數(shù)的補(bǔ)碼是除符號(hào)位外的所有位取反后加1 。
比如byte類型-5的補(bǔ)碼:-5帶符號(hào)位是10000101,除符號(hào)位全部取反是11111010,再加1就是11111011,就得到了-5的補(bǔ)碼 。
浮點(diǎn)類型
float 數(shù)據(jù)類型是單精度32位、符合IEEE 754標(biāo)準(zhǔn)的浮點(diǎn)數(shù);double 數(shù)據(jù)類型是雙精度64 位、符合IEEE 754標(biāo)準(zhǔn)的浮點(diǎn)數(shù) 。IEEE 754標(biāo)準(zhǔn)是一種浮點(diǎn)數(shù)的表示形式,篇幅有限,本文暫不做詳細(xì)描述 。
float 比 double 更節(jié)省空間,double可以存儲(chǔ)精度更高的浮點(diǎn)數(shù) 。兩者均不建議用來(lái)表示貨幣,貨幣應(yīng)該用整數(shù)類型表示 。
字符類型
char類型是一個(gè)16 位 Unicode 字符,最小值是 u0000(即為 0);最大值是 uffff(即為65535) 。
布爾類型
boolean數(shù)據(jù)類型只有兩種取值,true(真)或false(假) 。
默認(rèn)值和取值范圍
每一種基本數(shù)據(jù)類型都有系統(tǒng)默認(rèn)值,在JVM為其分配內(nèi)存的時(shí)候就會(huì)以系統(tǒng)默認(rèn)值初始化 ?,F(xiàn)將每一種數(shù)據(jù)類型的默認(rèn)值和取值范圍總結(jié)如下 。
基本數(shù)據(jù)類型的默認(rèn)值和取值范圍
對(duì)于每一種數(shù)據(jù)類型的取值范圍,我們不需要刻意記憶,這些取值范圍都已經(jīng)以常量的形式定義在基本數(shù)據(jù)類型對(duì)應(yīng)的包裝類中 。
基本類型與對(duì)應(yīng)包裝類
每一種基本類型,在java.lang中都有對(duì)應(yīng)的包裝類,比如boolean類型對(duì)應(yīng)的包裝類是 java.lang.Boolean 。將基本數(shù)據(jù)類型封裝成對(duì)象的好處在于可以在對(duì)象中定義更多的功能方法來(lái)操作該數(shù)據(jù) 。比如包裝類的 toString() 方法用于基本數(shù)據(jù)類型與字符串之間的轉(zhuǎn)換 。
類型轉(zhuǎn)換
基本數(shù)據(jù)類型的類型轉(zhuǎn)換分為自動(dòng)類型轉(zhuǎn)換 和 強(qiáng)制類型轉(zhuǎn)換 。
自動(dòng)類型轉(zhuǎn)換,也稱隱式類型轉(zhuǎn)換,是指不需要書寫代碼,由系統(tǒng)自動(dòng)完成的類型轉(zhuǎn)換 。轉(zhuǎn)換規(guī)則:從存儲(chǔ)范圍小的類型到存儲(chǔ)范圍大的類型 。
byte b = 10;short sh = b;
因?yàn)?b 是byte型,存儲(chǔ)范圍比short型小,所以JVM可以自動(dòng)把 b 轉(zhuǎn)換為short型,并賦值給 sh.
強(qiáng)制類型轉(zhuǎn)換,也稱顯式類型轉(zhuǎn)換,是指必須書寫代碼才能完成的類型轉(zhuǎn)換 。轉(zhuǎn)換規(guī)則:從存儲(chǔ)范圍大的類型到存儲(chǔ)范圍小的類型 。可能會(huì)造成精度損失 。
double pi = 3.14;int p = (int) pi; //這里就是強(qiáng)制轉(zhuǎn)換
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問(wèn)題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!
「愛(ài)刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助:- 學(xué)java到底怎么樣 學(xué)java好嗎
- 禁用javascript的好處 javascript特點(diǎn)有哪些
- java遠(yuǎn)程調(diào)用python腳本講解 java執(zhí)行python代碼
- 學(xué)java好嗎 學(xué)java好嗎
- html簡(jiǎn)易計(jì)算器代碼 javascript計(jì)算器代碼
- 面試回答技巧 java面試技巧自我介紹
- 中高級(jí)java開(kāi)發(fā)面試題 java高級(jí)面試題庫(kù)
- java入門簡(jiǎn)單小項(xiàng)目 java項(xiàng)目搭建流程
- java冒泡排序 javascript的全局函數(shù)有哪些
- 講解java中常見(jiàn)的數(shù)據(jù)類型 java中數(shù)據(jù)類型轉(zhuǎn)換
