一篇文章帶你入門Java數(shù)據(jù)類型
引言
♀ 小AD:明哥,昨天氣死我了,明哥要幫我出氣。
♂ 明世隱:咋了,有誰惹到你了。
♀ 小AD:昨天輔助噴我小魯班菜,我反手就對(duì)噴,然后竟然丟臉了!
♂ 明世隱:這個(gè)我是不信的,論噴的功力,你貌似不在明哥之下,沒那么容易就敗北的。
♀ 小AD:明明就丟臉了嗎
♂ 明世隱:你這一噴20年的功力,這些小學(xué)生頂?shù)米。?br /> ♀ 小AD:哼。。那我不說了!
♂ 明世隱:好了好了,說說看。
♀ 小AD:是小學(xué)生噴不過我,但是找我solo,我竟然沒打過,臉丟大了。
♂ 明世隱:我就說,在噴上應(yīng)該沒問題,怎么就solo不過了,不太應(yīng)該啊。
♀ 小AD:我覺得就奇怪哈,都選的小魯班,都學(xué)了1技能,裝備也一樣,就是打不過。
♂ 明世隱:你是不是沒有配置銘文。
♀ 小AD:啥是銘文?
♂ 明世隱:挖槽,你這都怎么過來的,怎么上的黃金,銘文都沒有啊,我的老天!
♀ 小AD:嗚嗚。。,那怎么弄?明哥教我
♂ 明世隱:好的
♀ 小AD:但是呢?
♂ 明世隱:對(duì)真乖!先把今天的Java學(xué)習(xí)了。
♀ 小AD:沒問題,我一定好好學(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,我話都還沒說完,那你6把鐵劍呢?
♀ 小AD:1500啊
♂ 明世隱:那攻擊力加了多少
♀ 小AD:120
♂ 明世隱:算的蠻快,這跟1024是不是很像,就是個(gè)比例關(guān)系。
♀ 小AD:嗯,這個(gè)挺好理解,之前對(duì)內(nèi)存這種關(guān)系也有了解,噴我的小學(xué)生搞不好都懂。
♂ 明世隱:你看這瞬間6神裝了,不起飛?
♀ 小AD:嗯,早期肯定起飛!
說明
變量就是申請(qǐng)內(nèi)存來存儲(chǔ)值。也就是說,當(dāng)創(chuàng)建變量的時(shí)候,需要在內(nèi)存中申請(qǐng)空間。
內(nèi)存管理系統(tǒng)根據(jù)變量的類型為變量分配存儲(chǔ)空間,分配的空間只能用來儲(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ù)型
類型 | 占用存儲(chǔ)空間 | 范圍 |
---|---|---|
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); }
♀ 小AD:哥,你這個(gè)byte a = 100;,啥意思,看不是太懂。
♂ 明世隱:這個(gè)是Java中定義一個(gè)變量的寫法。
♀ 小AD:之前你沒說過
♂ 明世隱:這個(gè)簡單講一下,下次再具體講變量,byte表示類型,a表示變量名,= 就是直接賦值,8就是之前講的字面量,也就是數(shù)據(jù)。
♀ 小AD:然后呢?
♂ 明世隱:就是說我定義了一個(gè)byte類型的變量a,并且給它設(shè)置了值,值為8。
♀ 小AD:好像明白,又好像不是太明白
♂ 明世隱:就比如說,有個(gè)裝備叫鐵劍,它的價(jià)格是250
♀ 小AD:那我明白了
♂ 明世隱:哦。。。有點(diǎn)扯,我不信
♀ 小AD:類型就是“攻擊裝備”,名稱就是“鐵劍的價(jià)格”,字面量就是 250。
♂ 明世隱:挖槽,你驚到我了,你果然是個(gè)游戲的小天才,我特么的服了,一說道游戲你就靈性起來了?
♀ 小AD:明哥指導(dǎo)的好!
♂ 明世隱:我可不敢當(dāng)!
上述代碼運(yùn)行
如果修改代碼
128不在范圍 -128~127 內(nèi),超出了這個(gè)范圍,所以會(huì)編譯報(bào)錯(cuò)。
short、int、long也是類似了,其中 int 是最常用的。
浮點(diǎn)型
類型 | 占用存儲(chǔ)空間 | 范圍 |
---|---|---|
float | 4字節(jié) | -231~231-1 |
double | 8字節(jié) | -263~263-1 |
字符型
類型 | 占用存儲(chǔ)空間 | 范圍 |
---|---|---|
char | 2字節(jié) | 0~65535 |
布爾型
類型 | 占用存儲(chǔ)空間 | 范圍 |
---|---|---|
boolean | 1bit | true,false |
♀ 小AD:明哥,你說了那么多范圍,我也記不住啊,這樣記我不會(huì)呀
♂ 明世隱:你不需要記,我給你舉個(gè)例子,就教一下你怎么配置銘文
♀ 小AD:好呀
♂ 明世隱:首先我問你,射手主要什么輸出
♀ 小AD:平A物理系
♂ 明世隱:對(duì),那攻速和暴擊對(duì)射手來說比較重要吧
♀ 小AD:所以銘文也是要配置這個(gè)?
♂ 明世隱:攻速是肯定要的,所以推薦優(yōu)先配置攻速、攻擊、吸血、移速、暴擊等銘文!大概就是紅色無雙、禍源,藍(lán)色狩獵、奪萃,綠色鷹眼,具體怎么配,就不用我說了吧,自己學(xué)去。
♀ 小AD:那就是大概記住常用的,對(duì)應(yīng)好英雄的屬性就行了吧
♂ 明世隱:就是這個(gè)意思
♀ 小AD:那在Java中也要對(duì)應(yīng)好類型唄。
♂ 明世隱:是的Java是強(qiáng)類型語言,如果類型指定的不對(duì),報(bào)錯(cuò)的。
♀ 小AD:可是我記不住的
♂ 明世隱:不需要記住,首先常用的就是 int 和boolean,然后他們的類型你設(shè)置的錯(cuò)誤,工具會(huì)提示你的。
♀ 小AD:哦
♂ 明世隱:不需要去記,你使用過幾次就熟悉了,這就和你出裝備一樣的,小魯班你出裝備熟悉吧。
♀ 小AD:電刀、無盡、泣血等
♂ 明世隱:是的,用幾次就明白了,舉兩個(gè)例子。
♀ 小AD:好的
例子1:
這boolean型的你設(shè)置100就肯定報(bào)錯(cuò)了。
這樣就沒毛病了。
例子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.從概念方面說 :
類型 | 區(qū)別 |
---|---|
基本數(shù)據(jù)類型 | 變量名指向具體的數(shù)值。 |
引用類型 | 變量名不是指向具體的數(shù)值, 是指向存數(shù)據(jù)的內(nèi)存地址。 |
2.從內(nèi)存方面來說:
類型 | 區(qū)別 |
---|---|
基本數(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ì)分配一塊具體的空間用來存儲(chǔ)數(shù)據(jù) 的具體信息,即hash值,然后由棧中引用指向堆中 的對(duì)象地址。 |
♀ 小AD:明哥,你說半天我沒聽懂
♂ 明世隱:那我問你,你在你家里面,你可以使用你的家,是不是?
♀ 小AD:那當(dāng)然,我家我做主
♂ 明世隱:那你就類似基本引用類型,這家的區(qū)域就是給你劃定的內(nèi)存區(qū)域。
♀ 小AD:這樣啊
♂ 明世隱:我如果有你家里的鑰匙,我開門進(jìn)去,我也可以使用你家的空間是不是,那我就是引用類型,就是說我不是直接擁有你家的使用權(quán),我是有了你家的鑰匙,我也就有了使用權(quán),這樣好理解吧?
♀ 小AD:好像有點(diǎn)明白了,不過你為啥會(huì)有我家的鑰匙,你要干嘛明哥?不會(huì)吧不會(huì)吧,你不會(huì)有什么邪惡的想法吧。
♂ 明世隱:滾一邊去,我就舉個(gè)例子,你別做夢(mèng)了。
♀ 小AD:那明哥,我有你的游戲賬號(hào)、密碼,這么說也可以看做是引用類型吧。
♂ 明世隱:差不多這個(gè)意思,就是說我手上拿著的賬號(hào)密碼,就類似引用類型指向內(nèi)存地址。
♀ 小AD:那我把你銘文給融了。
♂ 明世隱:活膩歪了?
♀ 小AD:不皮了,我先去裝一下銘文,再去找小朋友solo。
♂ 明世隱:再輸別說你認(rèn)識(shí)我
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
mybatis-plus的自動(dòng)填充時(shí)間的問題(添加到數(shù)據(jù)庫的時(shí)間比當(dāng)前時(shí)間多4個(gè)小時(shí))
這篇文章主要介紹了mybatis-plus的自動(dòng)填充時(shí)間的問題(添加到數(shù)據(jù)庫的時(shí)間比當(dāng)前時(shí)間多4個(gè)小時(shí)),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09springboot+mybatis+枚舉處理器的實(shí)現(xiàn)
在Spring?boot項(xiàng)目開發(fā)中經(jīng)常遇到需要使用枚舉的場景,本文就介紹了springboot+mybatis+枚舉處理器的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Spring AOP有多少個(gè)通知以及它們的執(zhí)行順序介紹
這篇文章主要介紹了Spring AOP有多少個(gè)通知以及它們的執(zhí)行順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11Eclipse不自動(dòng)編譯java文件的終極解決方法
這篇文章主要介紹了Eclipse不自動(dòng)編譯java文件的終極解決方法,需要的朋友可以參考下2015-12-12java實(shí)現(xiàn)波雷費(fèi)密碼算法示例代碼
這篇文章主要介紹了java實(shí)現(xiàn)波雷費(fèi)密碼算法示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01Java 中利用泛型和反射機(jī)制抽象DAO的實(shí)例
這篇文章主要介紹了Java 中利用泛型和反射機(jī)制抽象DAO的實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-07-07Spring Boot與Kotlin定時(shí)任務(wù)的示例(Scheduling Tasks)
這篇文章主要介紹了Spring Boot與Kotlin定時(shí)任務(wù)的示例(Scheduling Tasks),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03解決Spring Boot 正常啟動(dòng)后訪問Controller提示404問題
今天小編再次搭建Spring Boot項(xiàng)目的時(shí)候遇到訪問Controller報(bào)404錯(cuò)誤,之前都很順利。到底怎么回事呢?下面小編給大家?guī)砹私鉀QSpring Boot 正常啟動(dòng)后訪問Controller提示404問題,感興趣的朋友一起看看吧2018-08-08