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