<4> Java的數(shù)據(jù)類型

上一節(jié)我們把我們的第一個(gè)程序運(yùn)行起來了台谢,這一節(jié)我們開始我們Java基礎(chǔ)的學(xué)習(xí)张遭。先對(duì)程序的數(shù)據(jù)類型進(jìn)行介紹吧。

一蠕嫁、數(shù)據(jù)類型簡介

在Java中锨天,數(shù)據(jù)類型主要分基本數(shù)據(jù)類型和引用數(shù)據(jù)類型,下面來科普一下這兩種數(shù)據(jù)類型到底是什么剃毒。

基本數(shù)據(jù)類型:主要包括整數(shù)病袄、浮點(diǎn)數(shù)搂赋、字符、布爾這四類益缠。
整數(shù):很好理解厂镇,就是我們數(shù)學(xué)里的整數(shù),如1左刽,100,123酌媒,......欠痴。例如人的歲數(shù),出生年月日秒咨,均是整數(shù)喇辽。
浮點(diǎn)數(shù):這個(gè)就是我們數(shù)據(jù)里的小數(shù),帶有小數(shù)點(diǎn)的雨席,在Java里叫浮點(diǎn)數(shù)而已菩咨。如5.2,4.8等等陡厘。例如人的身高抽米。
字符:可以把它理解成字胖齐,就像“我愛你”炫加,這種就是字符恰响。例如人的姓名
布爾:這個(gè)就是我們邏輯中的“是”和“否”嗦枢,在程序時(shí)就是true和false谚攒。例如是否為男性止毕。
以上四類就是我們Java中的四類基本數(shù)據(jù)類型牌芋。

引用數(shù)據(jù)類型:主要包括類乎完、數(shù)組揉抵、接口這三類亡容。
類:可以理解成一個(gè)整體,如人冤今,動(dòng)物等闺兢,由基本數(shù)據(jù)類型組成,人均有歲數(shù)辟汰、身高列敲、出生年月日、性別等屬性帖汞。
數(shù)組:可以理解成一種群體的集合戴而,如一群人,這些集合里的個(gè)體都是同樣類型的翩蘸。如足球隊(duì)所意,都是球員組成。
接口:它是Java的一個(gè)抽象概念,為一類群體抽取的一個(gè)模型扶踊,例如人是一個(gè)接口泄鹏,美國人,中國人就是這個(gè)模型創(chuàng)建出來的秧耗,具有相同的特征备籽。

上述的解釋可能比較抽象,但是大致了解他們的區(qū)別即可分井,不需要完全理解车猬,在后面的開發(fā)中慢慢就會(huì)理解這些概念了。

二尺锚、基本數(shù)據(jù)類型

我們先從基本數(shù)據(jù)類型來逐個(gè)介紹珠闰,并且在程序中如何使用他們。

1瘫辩、整數(shù)

整數(shù)主要分:字節(jié)伏嗜、短整數(shù)、整數(shù)和長整數(shù)三種伐厌,它們的區(qū)別是范圍長度不同承绸。
字節(jié)的長度為1個(gè)字節(jié),數(shù)字范圍為:-128—127挣轨,代碼中的標(biāo)識(shí)為byte八酒。
短整數(shù)的長度為2個(gè)字節(jié),數(shù)字范圍為:-32768 ~ 32767刃唐,代碼中的標(biāo)示為short羞迷。
整數(shù)的長度為4個(gè)字節(jié),數(shù)字范圍為:-2147483648 ~ 2147483647画饥,代碼中的標(biāo)示為int衔瓮,這種類型也是Java中的整數(shù)的默認(rèn)類型。
長整數(shù)的長度為8個(gè)字節(jié)抖甘,數(shù)字范圍為:-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807热鞍,代碼中的標(biāo)示為long。

注意:不需要去記憶這些整型的具體長度衔彻,在日常開發(fā)中經(jīng)常只是使用到int類型而已薇宠。
這部分主要需要理解的內(nèi)容為:整數(shù)有分三種,它們的區(qū)別是長度艰额,并且三種的符號(hào)分別是short澄港、int和long即可。

代碼中的使用:

public class HelloWorld {
    public static void main(String[] args) {
        byte bMin = -128;
        byte bMax = 127;
        byte bError = -129;

        short sMin = -32768;
        short sMan = 32767;
        short sError = -32769;

        int iMin = -2147483648;
        int iMax = -2147483648;
        int iError = -2147483649;

        long lMin = -9223372036854775808l;
        long lMax = 9223372036854775807l;
        long lError = -9223372036854775809l;
    }
}

代碼解析:


整型代碼解析.png

注意:
1柄沮、長整型的數(shù)字最后為什么需要加一個(gè)L回梧,原因是整型的默認(rèn)類型為int废岂,所以數(shù)字-9223372036854775808程序認(rèn)為是int類型的,所以不加L會(huì)報(bào)錯(cuò)狱意,加了L就是告訴程序湖苞,我這個(gè)數(shù)字是個(gè)長整型的。

2详囤、浮點(diǎn)數(shù)(小數(shù))

浮點(diǎn)數(shù)主要分:單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù)财骨,它們的區(qū)別也是范圍長度不同。
單精度浮點(diǎn)數(shù)的長度為4個(gè)字節(jié)藏姐,float的精度為7~8位有效數(shù)字蚓再,代碼的標(biāo)示為:float。
雙精度浮點(diǎn)數(shù)的長度為8個(gè)字節(jié)包各,double的精度為16~17位,代碼的標(biāo)示為:double靶庙,是Java中浮點(diǎn)數(shù)的默認(rèn)類型问畅。

代碼中的使用:

public class HelloWorld {
    public static void main(String[] args) {
        float ff = 2.2;//報(bào)錯(cuò):默認(rèn)2.2是double類型,精度高于float六荒。高精度向低精度賦值會(huì)報(bào)錯(cuò)
        float fs = 2.2f;
        double fb = 2.2f; //低精度向高精度賦值是允許的
        double fd = 2.2;
    }
}

代碼解析:


浮點(diǎn)型代碼解析.png

注意:浮點(diǎn)型的默認(rèn)類型為雙精度浮點(diǎn)數(shù)double护姆,所以float的賦值數(shù)據(jù)需要在數(shù)據(jù)后面加一個(gè)f,告訴程序該數(shù)據(jù)都float類型掏击。
低精度可以賦值給高精度卵皂,但是高精度不能給低精度賦值,否則出現(xiàn)數(shù)據(jù)失真砚亭,丟失精度灯变。

3、字符

字符(char)的長度為2個(gè)字節(jié)捅膘,它是無符號(hào)型添祸,范圍為0—65535,是一個(gè)16位二進(jìn)制的Unicode字符寻仗。

byte與ASCII的關(guān)系:

byte的數(shù)據(jù)對(duì)ASCII的字母是對(duì)應(yīng)關(guān)系刃泌,例如下面程序。

public static void main(String[] args) {
       byte g = 'b';
       System.out.println(g);
}

打印輸出為:98署尤,證明'b'字符對(duì)應(yīng)byte數(shù)值為98耙替。

byte與char的關(guān)系:

我們都知道,char是存字符的曹体,但是其實(shí)char也是可以直接存整型俗扇,但是其代表的是整型所對(duì)應(yīng)的字符,例如下面代碼:

public static void main(String[] args) {
       char i = 85;
       System.out.println(i);
}

打印輸出為:U箕别,證明85對(duì)應(yīng)字符為U字符狐援。

4钢坦、布爾

布爾類型(boolean),長度為1個(gè)字節(jié)啥酱,其只有兩個(gè)值:true爹凹、flase,沒有其他值镶殷,true存1禾酱,false存0。

以上的則為Java對(duì)應(yīng)的所有基本數(shù)據(jù)類型绘趋。

三颤陶、引用數(shù)據(jù)類型

該部分不需要太理解這部分的數(shù)據(jù)類型,后續(xù)學(xué)習(xí)過程中陷遮,慢慢就能了解到類滓走、數(shù)組、接口等概念帽馋。

四搅方、數(shù)據(jù)類型的轉(zhuǎn)換

1、自動(dòng)轉(zhuǎn)換

2绽族、強(qiáng)制轉(zhuǎn)換

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末姨涡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子吧慢,更是在濱河造成了極大的恐慌涛漂,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件检诗,死亡現(xiàn)場離奇詭異匈仗,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)逢慌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門锚沸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涕癣,你說我怎么就攤上這事哗蜈。” “怎么了坠韩?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵距潘,是天一觀的道長。 經(jīng)常有香客問我只搁,道長音比,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任氢惋,我火速辦了婚禮洞翩,結(jié)果婚禮上稽犁,老公的妹妹穿的比我還像新娘。我一直安慰自己骚亿,他們只是感情好已亥,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著来屠,像睡著了一般虑椎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上俱笛,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天捆姜,我揣著相機(jī)與錄音,去河邊找鬼迎膜。 笑死泥技,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的磕仅。 我是一名探鬼主播珊豹,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼宽涌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蝶棋,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤卸亮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后玩裙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兼贸,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年吃溅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了溶诞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡决侈,死狀恐怖螺垢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情赖歌,我是刑警寧澤枉圃,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站庐冯,受9級(jí)特大地震影響孽亲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜展父,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一返劲、第九天 我趴在偏房一處隱蔽的房頂上張望玲昧。 院中可真熱鬧,春花似錦篮绿、人聲如沸孵延。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽隙袁。三九已至,卻和暖如春弃榨,著一層夾襖步出監(jiān)牢的瞬間菩收,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來泰國打工鲸睛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留娜饵,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓官辈,卻偏偏與公主長得像箱舞,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拳亿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349