從設(shè)計(jì)角度學(xué)Java:基本數(shù)據(jù)類型

這是一篇Java入門的文章扼鞋,有經(jīng)驗(yàn)的開發(fā)者可以直接路過就好

簡介

這里想用一個(gè)不同視角來學(xué)習(xí)編程。這個(gè)視角就是設(shè)計(jì)一門編程語言于宙。
這里我們從簡單到復(fù)雜一步步設(shè)計(jì)一個(gè)語言柴灯,從這個(gè)過程中去理解Java的方方面面物延。
如果大家能從設(shè)計(jì)的思路去入手去理解Java宣旱,那么在做開發(fā)時(shí)候一定得心應(yīng)手的。
在學(xué)習(xí)的過程中更是能知其然叛薯,知其所以然浑吟。這個(gè)過程會讓你真的懂得自己學(xué)習(xí)的是什么,學(xué)到又是什么耗溜。下面我開始一步一步帶大家一起探索Java组力。

基本數(shù)據(jù)類型int

大家不要被int這幾個(gè)字母迷惑了,其實(shí)他的全稱是integer翻譯一下就是整數(shù)的意思抖拴,后來為了編寫方便簡化為int燎字,現(xiàn)在大多數(shù)語言都是用int。這里就跟數(shù)學(xué)里面的整數(shù)對應(yīng)起來了阿宅,只有一點(diǎn)點(diǎn)區(qū)別候衍。就是取值范圍不同。因?yàn)橛?jì)算機(jī)需要存儲一個(gè)數(shù)字洒放,需要設(shè)計(jì)一個(gè)存儲區(qū)用來放這個(gè)數(shù)字蛉鹿。那么這個(gè)區(qū)域用多大適合呢?其實(shí)這個(gè)地方設(shè)計(jì)的時(shí)候是考慮計(jì)算機(jī)內(nèi)部實(shí)現(xiàn)設(shè)計(jì)的往湿,比如你的電腦現(xiàn)在一般是32位和64位妖异。而Java設(shè)計(jì)之初也是32位系統(tǒng)剛剛發(fā)展的階段,所以設(shè)計(jì)的時(shí)候就要根據(jù)具體需求考慮如果用32是不是合適领追,那時(shí)候16位系統(tǒng)還是很多的他膳,可是有個(gè)問題就是16位二進(jìn)制數(shù)很多時(shí)候不夠用,而且一個(gè)語言一定是面向未來的绒窑,那么選擇32位就剛剛好矩乐,為什么不選擇64位呢,這個(gè)就更好理解了,一個(gè)是浪費(fèi)空間散罕,其實(shí)大多時(shí)候用不上分歇,第二在32位機(jī)器上做64位運(yùn)算,性能差很多倍欧漱,所以int的存儲范圍就定在了32位职抡,根據(jù)這個(gè)還有計(jì)算機(jī)實(shí)際的存儲方式,Java的int類型定位了32位取值范圍也是根據(jù)這個(gè)計(jì)算的误甚。了解了這個(gè)后面的基本數(shù)據(jù)類型就好辦了缚甩。

基本數(shù)據(jù)類型int

基本數(shù)據(jù)類型long
long又是什么鬼.只看單詞以為就是長的意思,不好理解
其實(shí)long原來是 long integer的意思窑邦,翻譯就是長整型擅威,就是長的整型,整型是32位冈钦,長整型用64表示郊丛。
看他的由來也大概知道因?yàn)閕nt表達(dá)的范圍不大,所以對于特殊計(jì)算使用表示范圍更大的long來表示瞧筛,可以使用更大的范圍數(shù)字厉熟。

基本數(shù)據(jù)類型short

short又是什么呢
其實(shí)short的表示是 short integer的意思,翻譯就是短整型较幌,就是短的整型揍瑟,整型是32位,短整型用16位表示乍炉。
為什么用int還要short呢绢片。這個(gè)是因?yàn)橛行┨厥馇闆r下,存儲空間有限岛琼,為了能節(jié)省一部分空間杉畜,可以使用短一些的整形來表示。
由于時(shí)代發(fā)展衷恭,現(xiàn)在電腦內(nèi)存都比較大此叠,所以很少考慮用short去節(jié)省內(nèi)存的問題了。至少我是很少用随珠,估計(jì)嵌入式那些小內(nèi)存程序會用的多吧灭袁。

基本數(shù)據(jù)類型float&double

float怎么理解
之前寫了幾個(gè)變量都是整數(shù),那么小數(shù)自然也有一個(gè)表示窗看,java里用的是float表示小數(shù)茸歧,float這個(gè)翻譯成因?yàn)橹形木褪恰O陨颉H硐埂>褪欠昊健!涤浇!?浮動的鳖藕!
我們叫浮點(diǎn)數(shù),浮點(diǎn)數(shù)代表的是實(shí)數(shù)就是包含整數(shù)和小數(shù)只锭。這個(gè)名字來源是10的科學(xué)計(jì)數(shù)法著恩,小數(shù)點(diǎn)可以浮動的意思。
具體內(nèi)容可以百度下蜻展,還是比較抽象了喉誊,其實(shí)只要懂了float就是代表實(shí)數(shù)也就夠了,可以帶小數(shù)點(diǎn)纵顾。
double有是什么呢
double有點(diǎn)類似之前的long 和int 的關(guān)系伍茄。double 是 double float的簡稱 翻譯就是雙精度浮點(diǎn)數(shù)。
由于計(jì)算機(jī)的特性施逾,其實(shí)計(jì)算機(jī)是很難精確表達(dá)小數(shù)的敷矫,所以float一般會是一個(gè)近似值。double就是讓精確度更高一點(diǎn)的實(shí)數(shù)音念。
計(jì)算機(jī) float 用32位保存 double呢為了更高的精度就需要更多的位數(shù)來犧牲空間,使用64位保存一個(gè)實(shí)數(shù)躏敢。

基本數(shù)據(jù)類型boolean

boolean這個(gè)名稱是為了紀(jì)念英國數(shù)學(xué)家GeorgeBoole闷愤。
boolean代表真和假,用于邏輯判斷件余,就是我們數(shù)學(xué)里學(xué)的真假讥脐。真的時(shí)候值為true;假的時(shí)候?yàn)閒alse;這兩個(gè)值因?yàn)榫涂梢灾苯永斫鉃檎婕佟?br> 這個(gè)東西特別常用,所以被定義為基本類型啼器,比如你寫個(gè)游戲判斷游戲是不是勝利了旬渠,如果勝利了就顯示勝利頁面。
這些東西在開發(fā)中用的就特別多端壳,而且boolean特別節(jié)省空間因?yàn)橹挥?個(gè)值所以只用1位就可以表示告丢。其實(shí)C語言什么的也有用0,1表示的损谦。其實(shí)都一樣岖免,只是用true;和false;更直觀

基本數(shù)據(jù)類型char

char類型
char是因?yàn)閏haracter的縮寫,character因?yàn)榇碜帜傅囊馑颊占瘛1疽饩褪怯脕硪胍粋€(gè)字母颅湘。
字母一般是a-z 26 個(gè),因?yàn)闃?biāo)點(diǎn)符號也要有個(gè)顯示規(guī)則栗精,就都加入到字符里面了闯参。這就是我們現(xiàn)在的說的char瞻鹏。美國一般不會使用中文的,所以字符過去不考慮中文鹿寨,但是我們使用就會用新博,所以java把中文也加入了char里面,就是我們現(xiàn)在看到的char了
之前說了這么多類型其實(shí)都是數(shù)值型的释移,一般用于計(jì)算叭披,隨著技術(shù)的發(fā)展,計(jì)算機(jī)就很需要文字了玩讳,char就是為了解決程序里的問題的涩蜘。
這里忽略各種編碼。char就是用來表示一個(gè)字符熏纯,'a'同诫,'b','c'也可以表示中文,'中'樟澜,'國'.
char類型的值一般寫在單引號里面误窖,char用16位表示一個(gè)值。每個(gè)值都是一個(gè)字符秩贰,標(biāo)點(diǎn)符號也在char內(nèi)表示霹俺。
char類似其實(shí)用的不多,我們一般情況使用的都是字符串毒费,char代表一個(gè)字符而已丙唧。

基本數(shù)據(jù)類型byte

上面說了這么7個(gè)類型,其實(shí)基本數(shù)據(jù)類型還有一個(gè)byte觅玻。這個(gè)要單獨(dú)拿出來說想际。
類型byte可以理解為一個(gè)更小的整型,比short還小溪厘。用8位表示胡本。
那為什么要把byte單獨(dú)拿出來說呢。因?yàn)橐话阄覀冇胋yte來定義一個(gè)存儲單位畸悬。
這里用一個(gè)簡單的字符編碼的設(shè)計(jì)鋪開來說侧甫。

什么是字符編碼

字符編碼,其實(shí)就是一個(gè)約定蹋宦,計(jì)算機(jī)存儲數(shù)據(jù)其實(shí)只有0和1闺骚,像abcdefg對計(jì)算機(jī)來說他本身是不認(rèn)識的,他只認(rèn)識0和1妆档,那么如果我想把字母存儲到計(jì)算機(jī)要怎么做呢僻爽。字符編碼就是做這個(gè)事的,比如我固定用8位二進(jìn)制數(shù)代表一個(gè)字符贾惦。八位二進(jìn)制數(shù)可以表示0~256胸梆。我可以編碼規(guī)定0代表a敦捧,1代表b,2代表c碰镜,26代表z兢卵,然后我可以規(guī)定27代表0,28代表1绪颖,29代表2.以此類推秽荤,我可以用八位二進(jìn)制數(shù)代表各種數(shù)字字符和,一些基本的操作符號柠横,這個(gè)過程窃款。雖然我們計(jì)算機(jī)保存的是二進(jìn)制數(shù),可是我可以根據(jù)這個(gè)編碼去轉(zhuǎn)化位具體的字母數(shù)字牍氛。
想了解的小伙伴可以看看ASCII編碼晨继,這個(gè)基本就是一個(gè)最簡單的編碼了。

關(guān)于我

我是IsCoding搬俊,7年Android從業(yè)經(jīng)驗(yàn)紊扬。
QQ群號 121915371
QQ 號 1400100300 (個(gè)人QQ 建議加群咨詢)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市唉擂,隨后出現(xiàn)的幾起案子餐屎,更是在濱河造成了極大的恐慌,老刑警劉巖玩祟,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腹缩,死亡現(xiàn)場離奇詭異,居然都是意外死亡卵凑,警方通過查閱死者的電腦和手機(jī)庆聘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進(jìn)店門胜臊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來勺卢,“玉大人,你說我怎么就攤上這事象对『诔溃” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵勒魔,是天一觀的道長甫煞。 經(jīng)常有香客問我,道長冠绢,這世上最難降的妖魔是什么抚吠? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮弟胀,結(jié)果婚禮上楷力,老公的妹妹穿的比我還像新娘喊式。我一直安慰自己,他們只是感情好萧朝,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布岔留。 她就那樣靜靜地躺著,像睡著了一般检柬。 火紅的嫁衣襯著肌膚如雪献联。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天何址,我揣著相機(jī)與錄音里逆,去河邊找鬼。 笑死头朱,一個(gè)胖子當(dāng)著我的面吹牛运悲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播项钮,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼班眯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了烁巫?” 一聲冷哼從身側(cè)響起署隘,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎亚隙,沒想到半個(gè)月后磁餐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阿弃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年诊霹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渣淳。...
    茶點(diǎn)故事閱讀 38,664評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡脾还,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出入愧,到底是詐尸還是另有隱情鄙漏,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布棺蛛,位于F島的核電站怔蚌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏旁赊。R本人自食惡果不足惜桦踊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望终畅。 院中可真熱鬧籍胯,春花似錦鳄橘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至本刽,卻和暖如春鲸湃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背子寓。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工暗挑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人斜友。 一個(gè)月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓炸裆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鲜屏。 傳聞我的和親對象是個(gè)殘疾皇子烹看,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容