零学Java(7)之数据类型,小AD竟然solo不过小朋友
作者簡(jiǎn)介
本文章為轉(zhuǎn)載,原作者名:編程界明世隱,僅用來(lái)學(xué)習(xí)
簡(jiǎn)介:CSDN博客專家,從事軟件開(kāi)發(fā)多年,精通Java、JavaScript,博主也是從零開(kāi)始一步步把學(xué)習(xí)成長(zhǎng)、深知學(xué)習(xí)和積累的重要性,喜歡跟廣大ADC一起打野升級(jí),歡迎您關(guān)注,期待與您一起學(xué)習(xí)、成長(zhǎng)、起飛!
系列目錄
從零學(xué)Java(8)之變量
從零學(xué)Java(7)之?dāng)?shù)據(jù)類型
從零學(xué)Java(6)之字面量和常量
從零學(xué)Java(5)之關(guān)鍵字和保留字
從零學(xué)Java(4)之編程規(guī)范
從零學(xué)Java(3)之第一個(gè)實(shí)例HelloWorld
從零學(xué)Java(2)之搭建開(kāi)發(fā)環(huán)境
從零學(xué)Java(1)之面向?qū)ο?/p>
引言
♀ 小AD:明哥,昨天氣死我了,明哥要幫我出氣。
♂ 明世隱:咋了,有誰(shuí)惹到你了。
♀ 小AD:昨天輔助噴我小魯班菜,我反手就對(duì)噴,然后竟然丟臉了!
♂ 明世隱:這個(gè)我是不信的,論噴的功力,你貌似不在明哥之下,沒(méi)那么容易就敗北的。
♀ 小AD:明明就丟臉了嗎
♂ 明世隱:你這一噴20年的功力,這些小學(xué)生頂?shù)米?#xff1f;
♀ 小AD:哼。。那我不說(shuō)了!
♂ 明世隱:好了好了,說(shuō)說(shuō)看。
♀ 小AD:是小學(xué)生噴不過(guò)我,但是找我solo,我竟然沒(méi)打過(guò),臉丟大了。
♂ 明世隱:我就說(shuō),在噴上應(yīng)該沒(méi)問(wèn)題,怎么就solo不過(guò)了,不太應(yīng)該啊。
♀ 小AD:我覺(jué)得就奇怪哈,都選的小魯班,都學(xué)了1技能,裝備也一樣,就是打不過(guò)。
♂ 明世隱:你是不是沒(méi)有配置銘文。
♀ 小AD:啥是銘文?
♂ 明世隱:挖槽,你這都怎么過(guò)來(lái)的,怎么上的黃金,銘文都沒(méi)有啊,我的老天!
♀ 小AD:嗚嗚。。,那怎么弄?明哥教我
♂ 明世隱:好的
♀ 小AD:但是呢?
♂ 明世隱:對(duì)真乖!先把今天的Java學(xué)習(xí)了。
♀ 小AD:沒(méi)問(wèn)題,我一定好好學(xué)!
♂ 明世隱:今天學(xué)數(shù)據(jù)類型,學(xué)完你就會(huì)配置銘文了。到時(shí)候再找他solo,肯定贏!
♀ 小AD:好嘞!
兩個(gè)基本概念
1.bit (位):位是計(jì)算機(jī)中存儲(chǔ)數(shù)據(jù)的最小單位,指二進(jìn)制數(shù)中的一個(gè)位數(shù),其值為“0”或“1”。
2.byte (字節(jié)):字節(jié)是計(jì)算機(jī)存儲(chǔ)容量的基本單位,一個(gè)字節(jié)由8位二進(jìn)制數(shù)組成。
1byte=8bit
1KB=1024byte
1MB=1024KB
1GB=1024MB
♂ 明世隱:這個(gè)應(yīng)該很好理解吧!
♀ 小AD:這個(gè)好像跟內(nèi)存有點(diǎn)像的
♂ 明世隱:它就是,比如王者中金幣計(jì)算單位是1個(gè)金幣,一把鐵劍多少錢?
♀ 小AD:250
♂ 明世隱:挖槽,你可真是個(gè)250,我話都還沒(méi)說(shuō)完,那你6把鐵劍呢?
♀ 小AD:1500啊
♂ 明世隱:那攻擊力加了多少
♀ 小AD:120
♂ 明世隱:算的蠻快,這跟1024是不是很像,就是個(gè)比例關(guān)系。
♀ 小AD:嗯,這個(gè)挺好理解,之前對(duì)內(nèi)存這種關(guān)系也有了解,噴我的小學(xué)生搞不好都懂。
♂ 明世隱:你看這瞬間6神裝了,不起飛?
♀ 小AD:嗯,早期肯定起飛!
說(shuō)明
變量就是申請(qǐng)內(nèi)存來(lái)存儲(chǔ)值。也就是說(shuō),當(dāng)創(chuàng)建變量的時(shí)候,需要在內(nèi)存中申請(qǐng)空間。
內(nèi)存管理系統(tǒng)根據(jù)變量的類型為變量分配存儲(chǔ)空間,分配的空間只能用來(lái)儲(chǔ)存該類型數(shù)據(jù)。
數(shù)據(jù)類型分類
1.基本數(shù)據(jù)類型
2.引用數(shù)據(jù)類型
基本數(shù)據(jù)類型
基本數(shù)據(jù)類型分成4個(gè)小類型
1.整數(shù)型
2.浮點(diǎn)型
3.字符型
4.布爾型
整數(shù)型
| byte | 1字節(jié) | -128~127 |
| short | 2字節(jié) | -215~215-1 |
| int | 4字節(jié) | -231~231-1 |
| long | 8字節(jié) | -264~264-1 |
舉個(gè)例子
public static void main(String[] args) {byte a = 100;System.out.println(a); }- 1
- 2
- 3
- 4
♀ 小AD:哥,你這個(gè)byte a = 100;,啥意思,看不是太懂。
♂ 明世隱:這個(gè)是Java中定義一個(gè)變量的寫法。
♀ 小AD:之前你沒(méi)說(shuō)過(guò)
♂ 明世隱:這個(gè)簡(jiǎn)單講一下,下次再具體講變量,byte表示類型,a表示變量名,= 就是直接賦值,8就是之前講的字面量,也就是數(shù)據(jù)。
♀ 小AD:然后呢?
♂ 明世隱:就是說(shuō)我定義了一個(gè)byte類型的變量a,并且給它設(shè)置了值,值為8。
♀ 小AD:好像明白,又好像不是太明白
♂ 明世隱:就比如說(shuō),有個(gè)裝備叫鐵劍,它的價(jià)格是250
♀ 小AD:那我明白了
♂ 明世隱:哦。。。有點(diǎn)扯,我不信
♀ 小AD:類型就是“攻擊裝備”,名稱就是“鐵劍的價(jià)格”,字面量就是 250。
♂ 明世隱:挖槽,你驚到我了,你果然是個(gè)游戲的小天才,我特么的服了,一說(shuō)道游戲你就靈性起來(lái)了?
♀ 小AD:明哥指導(dǎo)的好!
♂ 明世隱:我可不敢當(dāng)!
上述代碼運(yùn)行
如果修改代碼
128不在范圍 -128~127 內(nèi),超出了這個(gè)范圍,所以會(huì)編譯報(bào)錯(cuò)。
short、int、long也是類似了,其中 int 是最常用的。
浮點(diǎn)型
| float | 4字節(jié) | -231~231-1 |
| double | 8字節(jié) | -263~263-1 |
字符型
| char | 2字節(jié) | 0~65535 |
布爾型
| boolean | 1bit | true,false |
♀ 小AD:明哥,你說(shuō)了那么多范圍,我也記不住啊,這樣記我不會(huì)呀
♂ 明世隱:你不需要記,我給你舉個(gè)例子,就教一下你怎么配置銘文
♀ 小AD:好呀
♂ 明世隱:首先我問(wèn)你,射手主要什么輸出
♀ 小AD:平A物理系
♂ 明世隱:對(duì),那攻速和暴擊對(duì)射手來(lái)說(shuō)比較重要吧
♀ 小AD:所以銘文也是要配置這個(gè)?
♂ 明世隱:攻速是肯定要的,所以推薦優(yōu)先配置攻速、攻擊、吸血、移速、暴擊等銘文!大概就是紅色無(wú)雙、禍源,藍(lán)色狩獵、奪萃,綠色鷹眼,具體怎么配,就不用我說(shuō)了吧,自己學(xué)去。
♀ 小AD:那就是大概記住常用的,對(duì)應(yīng)好英雄的屬性就行了吧
♂ 明世隱:就是這個(gè)意思
♀ 小AD:那在Java中也要對(duì)應(yīng)好類型唄。
♂ 明世隱:是的Java是強(qiáng)類型語(yǔ)言,如果類型指定的不對(duì),報(bào)錯(cuò)的。
♀ 小AD:可是我記不住的
♂ 明世隱:不需要記住,首先常用的就是 int 和boolean,然后他們的類型你設(shè)置的錯(cuò)誤,工具會(huì)提示你的。
♀ 小AD:哦
♂ 明世隱:不需要去記,你使用過(guò)幾次就熟悉了,這就和你出裝備一樣的,小魯班你出裝備熟悉吧。
♀ 小AD:電刀、無(wú)盡、泣血等
♂ 明世隱:是的,用幾次就明白了,舉兩個(gè)例子。
♀ 小AD:好的
例子1:
這boolean型的你設(shè)置100就肯定報(bào)錯(cuò)了。
這樣就沒(méi)毛病了。
例子2:
看報(bào)錯(cuò)信息就知道是類型不對(duì)。
引用數(shù)據(jù)類型
1.引用類型指向一個(gè)對(duì)象,指向?qū)ο蟮淖兞渴且米兞俊_@些變量在聲明時(shí)候被指定為一個(gè)特定的類型,聲明之后不能改變。
2.引用數(shù)據(jù)類型包括:類(對(duì)象)、接口、數(shù)組。
3.所有引用類型默認(rèn)值都是null。
4.一個(gè)引用變量可以用于引用任何與之兼容的類型。
兩者的區(qū)別
1.從概念方面說(shuō) :
| 基本數(shù)據(jù)類型 | 變量名指向具體的數(shù)值。 |
| 引用類型 | 變量名不是指向具體的數(shù)值, 是指向存數(shù)據(jù)的內(nèi)存地址。 |
2.從內(nèi)存方面來(lái)說(shuō):
| 基本數(shù)據(jù)類型 | 被創(chuàng)建時(shí),在棧內(nèi)存中會(huì)被劃分出一定的內(nèi)存,并將 數(shù)值存儲(chǔ)在該內(nèi)存中。 |
| 引用數(shù)據(jù)類型 | 被創(chuàng)建時(shí),首先會(huì)在棧內(nèi)存中分配一塊空間,然后 在堆內(nèi)存中也會(huì)分配一塊具體的空間用來(lái)存儲(chǔ)數(shù)據(jù) 的具體信息,即hash值,然后由棧中引用指向堆中 的對(duì)象地址。 |
♀ 小AD:明哥,你說(shuō)半天我沒(méi)聽(tīng)懂
♂ 明世隱:那我問(wèn)你,你在你家里面,你可以使用你的家,是不是?
♀ 小AD:那當(dāng)然,我家我做主
♂ 明世隱:那你就類似基本引用類型,這家的區(qū)域就是給你劃定的內(nèi)存區(qū)域。
♀ 小AD:這樣啊
♂ 明世隱:我如果有你家里的鑰匙,我開(kāi)門進(jìn)去,我也可以使用你家的空間是不是,那我就是引用類型,就是說(shuō)我不是直接擁有你家的使用權(quán),我是有了你家的鑰匙,我也就有了使用權(quán),這樣好理解吧?
♀ 小AD:好像有點(diǎn)明白了,不過(guò)你為啥會(huì)有我家的鑰匙,你要干嘛明哥?不會(huì)吧不會(huì)吧,你不會(huì)有什么邪惡的想法吧。
♂ 明世隱:滾一邊去,我就舉個(gè)例子,你別做夢(mèng)了。
♀ 小AD:那明哥,我有你的游戲賬號(hào)、密碼,這么說(shuō)也可以看做是引用類型吧。
♂ 明世隱:差不多這個(gè)意思,就是說(shuō)我手上拿著的賬號(hào)密碼,就類似引用類型指向內(nèi)存地址。
♀ 小AD:那我把你銘文給融了。
♂ 明世隱:活膩歪了?
♀ 小AD:不皮了,我先去裝一下銘文,再去找小朋友solo。
♂ 明世隱:再輸別說(shuō)你認(rèn)識(shí)我
總結(jié)
以上是生活随笔為你收集整理的零学Java(7)之数据类型,小AD竟然solo不过小朋友的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 风口之下,隐形正畸还能走多远?
- 下一篇: SpringCloud学习(一)