【JAVA零基礎(chǔ)入門(mén)系列】Day3 Java基本數(shù)據(jù)類(lèi)型

??前兩篇已經(jīng)將開(kāi)發(fā)環(huán)境搭建完成签赃,如果你已經(jīng)按之前的教程按部就班的完成了部署休傍,那么世界上最優(yōu)秀的編程語(yǔ)言之一和世界上最優(yōu)秀的IDE之一已經(jīng)出現(xiàn)在你的電腦上(此處應(yīng)有掌聲)醇坝,如果你還沒(méi)入門(mén)笋粟,或者正在臺(tái)階上踱步痊臭,可能你還不能理解這個(gè)“最優(yōu)秀”的含義棺蛛,沒(méi)有關(guān)系,這頓美味需要我們來(lái)細(xì)嚼慢咽才能品嘗到它的獨(dú)特之處。

??接下來(lái)随夸,就讓我們一起來(lái)正式揭開(kāi)Java的面紗。

??Java是一門(mén)簡(jiǎn)單震放、面向?qū)ο蟊龆尽⒏咝阅堋踩愿叩钏臁⒔研詮?qiáng)诈铛、移植性好的語(yǔ)言(一本正經(jīng)的胡說(shuō)八道中)。Java的語(yǔ)法跟C++很像墨礁,如果有過(guò)C++學(xué)習(xí)經(jīng)驗(yàn)的人幢竹,學(xué)習(xí)Java上手會(huì)容易很多,Java一開(kāi)始很多特性都跟C++相同恩静,比如基本的程序結(jié)構(gòu)焕毫、類(lèi)、語(yǔ)法規(guī)則等等驶乾,但是刪除了其中很多復(fù)雜的東西邑飒,比如頭文件,結(jié)構(gòu)轻掩,聯(lián)合幸乒,操作符重載、虛基類(lèi)等等唇牧,看到這里罕扎,學(xué)過(guò)C++的你可能會(huì)覺(jué)得很高興,終于不用跟那些奇奇怪怪的東西打交道了丐重。別高興的太早腔召,因?yàn)椋€有讓你更高興的(手動(dòng)滑稽)扮惦,那最頭疼的指針操作部分臀蛛,也去掉了,可以說(shuō)是一個(gè)純凈簡(jiǎn)化版的C++崖蜜,但也添加了很多自己的特性浊仆,沒(méi)有了多重繼承,取而代之的是接口和內(nèi)部類(lèi)豫领,由于不允許直接操作指針抡柿,所以就不會(huì)因?yàn)閷?duì)指針的一頓瞎操作而出現(xiàn)神奇的bug,當(dāng)然等恐,也少了很多尋找bug的樂(lè)趣(尷尬)洲劣,Java在安全性能上是可以信任的备蚓,因?yàn)橛肋h(yuǎn)不會(huì)存取一個(gè)壞的指針,而造成內(nèi)存分配的錯(cuò)誤囱稽,也不存在內(nèi)存泄漏問(wèn)題郊尝。所有那些因?yàn)橹羔樢鸬陌踩[患,都不存在的战惊。

??也許說(shuō)了這么多流昏,對(duì)于新手的你,看的云里霧里样傍,不知所云横缔,沒(méi)關(guān)系,你只需要知道衫哥,Java上手并不難茎刚,只比繞操場(chǎng)跑上十來(lái)圈難那么一點(diǎn)點(diǎn),但如果你只是想來(lái)散散步的話(huà)撤逢,那你可能沒(méi)有機(jī)會(huì)享受到汗流浹背后的滿(mǎn)足感了膛锭。

??言歸正傳,Java可以寫(xiě)桌面蚊荣、可以寫(xiě)Android初狰、可以寫(xiě)服務(wù)器、可以寫(xiě)企業(yè)級(jí)業(yè)務(wù)互例、可以寫(xiě)互聯(lián)網(wǎng)業(yè)務(wù)奢入。如果你以后想在安卓開(kāi)發(fā)、服務(wù)器開(kāi)發(fā)媳叨、網(wǎng)站后臺(tái)開(kāi)發(fā)和維護(hù)上有所發(fā)展腥光,那Java將是你不錯(cuò)的選擇。如果只是想來(lái)膜拜一下這門(mén)常年位居編程開(kāi)發(fā)語(yǔ)言排行榜榜首的語(yǔ)言糊秆,那也可以來(lái)看看武福,俗話(huà)說(shuō)的好,技多不壓身嘛痘番,以后見(jiàn)了不會(huì)編程的朋友捉片,還可以裝個(gè)X說(shuō)我也是學(xué)過(guò)Java的人(憋笑)。

??簡(jiǎn)單介紹了Java的功能后汞舱,能堅(jiān)持看到這說(shuō)明你已經(jīng)有點(diǎn)小心動(dòng)伍纫,想要繼續(xù)學(xué)下去,那就跟我一起來(lái)進(jìn)行系統(tǒng)的學(xué)習(xí)吧昂芜。

??要學(xué)習(xí)Java翻斟,自然要從基本的數(shù)據(jù)類(lèi)型說(shuō)起,那么说铃,什么是數(shù)據(jù)類(lèi)型访惜?顧名思義嘛,就是不同的數(shù)據(jù)有不同的類(lèi)型腻扇,就像人按性別分男女债热,按年齡分老中少,按性情分攻受(咳咳幼苛,這里只是為了舉個(gè)栗子)窒篱,在java里,基本的數(shù)據(jù)類(lèi)型有四種舶沿,整數(shù)型墙杯,浮點(diǎn)型,布爾型和字符型括荡。下面來(lái)一一介紹高镐。

??整型,自然就是用來(lái)存放整數(shù)的畸冲, 比如說(shuō):1,2,3,4,100嫉髓,等等,一般的整數(shù)都可以用int型來(lái)存放和操作邑闲,整型還可以根據(jù)取值范圍需求不同再細(xì)分成int型算行,short型,long型苫耸,byte型州邢,這幾個(gè)兄弟排個(gè)序,從大到小分別是long褪子、int量淌、short、byte褐筛。long型最大类少,占用8個(gè)字節(jié)(在java中,討論最小的存儲(chǔ)單元是bit渔扎,也就是位硫狞,byte是字節(jié),跟位的換算是:1byte=8bit晃痴,1kb=1024bytes=210bytes)残吩,作為整型中的老大,占用8*8=64位倘核,所以除去第一位用于儲(chǔ)存符號(hào)位泣侮,其它63位可以用來(lái)表示數(shù)值大小,所以它的表示范圍為:-263 — 263-1紧唱。大概是百億億的級(jí)別活尊,所以要是用來(lái)存放你的銀行卡余額的話(huà)隶校,還是不要?jiǎng)跓﹍ong型了(滑稽)。作為最常用的整數(shù)型老二蛹锰,int型可謂是人盡皆知深胳,幾乎成了整型的代表人物,它只占用4個(gè)字節(jié)铜犬,取值范圍為-231 — 231-1舞终,比21億稍微多一點(diǎn)。而老三short癣猾,顧名思義敛劝,比較“短”,不能跟18cm的long型相提并論纷宇,只占用2個(gè)字節(jié)夸盟,表示范圍為-215 -- 2^15-1,也就是-32768 -- 32767呐粘,做小范圍的加減乘除的話(huà)是夠用的满俗。最后介紹的老四,byte型作岖,只占用一個(gè)字節(jié)唆垃,可謂是相當(dāng)拮據(jù),表示范圍為 -128-127痘儡。所以存余額的話(huà)辕万,byte,short型太短沉删,long型太長(zhǎng)渐尿,所以用int型最經(jīng)濟(jì)實(shí)惠。

??初學(xué)編程的人可能會(huì)問(wèn)了矾瑰,好好的整數(shù)型砖茸,還分那么細(xì)干嘛。這你就不懂了吧殴穴,舉個(gè)栗子凉夯,因?yàn)橛糜诖娣艛?shù)據(jù)的內(nèi)存空間是以位為基本單位,可以理解為很多很多相同的小盒子采幌,相同的數(shù)據(jù)類(lèi)型需要用同樣大小的空間劲够,不然程序就不知道數(shù)據(jù)的開(kāi)始和結(jié)束位置,用數(shù)據(jù)頭部來(lái)存放大小長(zhǎng)度信息顯然有些浪費(fèi)空間休傍,那么現(xiàn)在的問(wèn)題是征绎,一個(gè)整數(shù),用多大的空間合適磨取?你可能會(huì)覺(jué)得人柿,都用同樣大小的空間不就好了柴墩,那都用8個(gè)字節(jié)來(lái)存儲(chǔ),用來(lái)存放大數(shù)值的時(shí)候很好用凫岖,但是用來(lái)存放你的年齡的時(shí)候拐邪,仿佛浪費(fèi)的空間就有點(diǎn)多了,就好比現(xiàn)在你有一個(gè)籃球隘截,一個(gè)網(wǎng)球,一個(gè)足球汹胃,一個(gè)乒乓球婶芭,都需要用同樣大小的盒子來(lái)單獨(dú)存放,那規(guī)格自然只能按最大的來(lái)算着饥,當(dāng)你往那個(gè)大盒子里放一個(gè)乒乓球的時(shí)候犀农,不覺(jué)得很浪費(fèi)空間嗎。所以為了避免這樣不必要的浪費(fèi)宰掉,設(shè)計(jì)多種整數(shù)型是有必要的呵哨。當(dāng)然,也沒(méi)有必要對(duì)于內(nèi)存太過(guò)斤斤計(jì)較轨奄,如果不是在搞算法研究孟害,不是對(duì)時(shí)間跟空間效率要求很苛刻的條件下,基本上都用int型就好了挪拟。畢竟一般情況挨务,運(yùn)行效果比運(yùn)行效率更重要。

??接下來(lái)說(shuō)浮點(diǎn)類(lèi)型玉组,為什么叫浮點(diǎn)類(lèi)型谎柄,自然是用來(lái)表示浮點(diǎn)數(shù)的(廢話(huà)),那什么是浮點(diǎn)數(shù)惯雳,這朝巫。說(shuō)來(lái)又要有一段文章了。在計(jì)算機(jī)中石景,表示小數(shù)有兩種方法劈猿,一種叫定點(diǎn),一種叫浮點(diǎn)鸵钝。 ](http://upload-images.jianshu.io/upload_images/12129539-29425722cff526de.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

??以32位程序?yàn)槔诰剩c(diǎn)的意思是,小數(shù)點(diǎn)固定在 32 位中的某個(gè)位置恩商,前面的是整數(shù)变逃,后面的是小數(shù)。小數(shù)點(diǎn)具體固定在哪里怠堪,可以自己在程序中指定揽乱。例如上面的例子名眉,小數(shù)點(diǎn)在 23 bit 處。無(wú)論你是124.25凰棉,是0.5损拢, 還是100, 小數(shù)點(diǎn)都在 23 bit 的位置固定不變撒犀。

image

??浮點(diǎn)數(shù)是相對(duì)定點(diǎn)數(shù)而言的福压,浮點(diǎn)數(shù)的表示方法為:
image

??最高的 1 位是符號(hào)位 s,接著的 8 位是指數(shù)E或舞,剩下的 23 位為有效數(shù)字 M荆姆。例如:

5 DEC = 101 BIN = 1.01 x 2^2

100 DEC = 01100100 BIN = 1.100100 x 2^6

0.125 DEC = 0.001 BIN = 1 x 2^-3

??現(xiàn)在,小數(shù)點(diǎn)的位置就漂浮不定了映凳。如果想了解關(guān)于浮點(diǎn)數(shù)的存儲(chǔ)問(wèn)題胆筒,可以看看這篇文章,https://www.cnblogs.com/jillzhang/archive/2007/06/24/793901.html

诈豌,當(dāng)然仆救,新手的話(huà)建議先別看了,免得被嚇跑了矫渔,你只需要知道彤蔽,浮點(diǎn)型就是用來(lái)存取帶小數(shù)點(diǎn)的數(shù)就可以了。

??浮點(diǎn)數(shù)也分成兩個(gè)類(lèi)型蚌斩,float和double铆惑,float占用四個(gè)字節(jié),取值范圍為-2^128 ~ +2^128送膳,也即-3.40E+38 ~ +3.40E+38员魏;double占用八個(gè)字節(jié),取值范圍為-2^1024 ~ +2^1024叠聋,也即-1.79E+308 ~ +1.79E+308撕阎。

float:2^23 = 8388608,一共七位碌补,這意味著最多能有7位有效數(shù)字虏束,但絕對(duì)能保證的為6位,也即float的精度為6~7位有效數(shù)字厦章;

double:2^52 = 4503599627370496镇匀,一共16位,同理袜啃,double的精度為15~16位汗侵。

??你如果對(duì)于這兩個(gè)類(lèi)型傻傻分不清楚,那就只用double類(lèi)型就好了,java里最常用的浮點(diǎn)類(lèi)型就是double類(lèi)型晰韵。

??扯的有點(diǎn)多了发乔,布爾型都等不及了,別擔(dān)心雪猪,布爾型(boolean)是最簡(jiǎn)單的栏尚,只有真(true)跟假(false)兩種狀態(tài)。

??最后就是字符型(char)只恨,用于存放字符的數(shù)據(jù)類(lèi)型译仗,占用2個(gè)字節(jié),采用unicode編碼官觅,它的前128字節(jié)編碼與ASCII兼容字符的存儲(chǔ)范圍在\u0000~\uFFFF古劲,在定義字符型的數(shù)據(jù)時(shí)候要注意加' ',比如 '1'表示字符'1'而不是數(shù)值1缰猴。

??好了,基本數(shù)據(jù)類(lèi)型就介紹這么多了疤剑,總的來(lái)說(shuō)滑绒,整型用來(lái)存放整數(shù),浮點(diǎn)型用來(lái)存放小數(shù)隘膘,布爾型用來(lái)存放真假疑故,主要用于邏輯判斷,字符型用來(lái)存放單個(gè)字符弯菊,比如:'a','b','c'等等纵势。Java中整數(shù)默認(rèn)為int型,小數(shù)默認(rèn)為double型管钳。

??最后再說(shuō)一點(diǎn)钦铁,不同數(shù)據(jù)類(lèi)型之間也是可以相互轉(zhuǎn)換的。Java中也是有著弱肉強(qiáng)食的規(guī)則才漆,誰(shuí)占地多誰(shuí)就大牛曹,一個(gè)整數(shù)型int跟一個(gè)浮點(diǎn)型double一起運(yùn)算時(shí),會(huì)自動(dòng)轉(zhuǎn)化為double型醇滥,這樣就能無(wú)精度損失的進(jìn)行數(shù)值運(yùn)算了黎比。下面是數(shù)據(jù)類(lèi)型之間的合法轉(zhuǎn)換:

image

??那我非要進(jìn)行“非法轉(zhuǎn)換”怎么辦,一個(gè)占用8字節(jié)的double型非要轉(zhuǎn)換成占用4字節(jié)的int型該怎么辦鸳玩,那就只能用強(qiáng)制類(lèi)型轉(zhuǎn)換了阅虫,但這樣可能會(huì)造成精度的丟失。具體情況暫時(shí)不多做介紹了不跟,不然又要說(shuō)半天才能說(shuō)的完了颓帝。

??好了,今天的內(nèi)容到此結(jié)束,基本數(shù)據(jù)類(lèi)型都看了個(gè)遍躲履,如果還是有些不明白见间,也沒(méi)有關(guān)系,一回生二回熟嘛工猜。來(lái)日方長(zhǎng)米诉,日后再說(shuō)吧。(溜了溜了)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末篷帅,一起剝皮案震驚了整個(gè)濱河市史侣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌魏身,老刑警劉巖惊橱,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異箭昵,居然都是意外死亡税朴,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)家制,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)正林,“玉大人,你說(shuō)我怎么就攤上這事颤殴∶倮” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵涵但,是天一觀的道長(zhǎng)杈绸。 經(jīng)常有香客問(wèn)我,道長(zhǎng)矮瘟,這世上最難降的妖魔是什么瞳脓? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮澈侠,結(jié)果婚禮上篡殷,老公的妹妹穿的比我還像新娘。我一直安慰自己埋涧,他們只是感情好板辽,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著棘催,像睡著了一般劲弦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上醇坝,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天邑跪,我揣著相機(jī)與錄音次坡,去河邊找鬼。 笑死画畅,一個(gè)胖子當(dāng)著我的面吹牛砸琅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播轴踱,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼症脂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了淫僻?” 一聲冷哼從身側(cè)響起诱篷,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎雳灵,沒(méi)想到半個(gè)月后棕所,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡悯辙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年琳省,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片躲撰。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡岛啸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出茴肥,到底是詐尸還是另有隱情,我是刑警寧澤荡灾,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布瓤狐,位于F島的核電站,受9級(jí)特大地震影響批幌,放射性物質(zhì)發(fā)生泄漏础锐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一荧缘、第九天 我趴在偏房一處隱蔽的房頂上張望皆警。 院中可真熱鬧,春花似錦截粗、人聲如沸信姓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)意推。三九已至,卻和暖如春珊蟀,著一層夾襖步出監(jiān)牢的瞬間菊值,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留腻窒,地道東北人昵宇。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像儿子,于是被迫代替她去往敵國(guó)和親瓦哎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

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

  • 一典徊、Java 簡(jiǎn)介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)...
    子非魚(yú)_t_閱讀 4,202評(píng)論 1 44
  • 第一類(lèi):邏輯型boolean 第二類(lèi):文本型char 第三類(lèi):整數(shù)型(byte杭煎、short、int卒落、long) c...
    Jasonme閱讀 1,080評(píng)論 0 4
  • 目錄:1.基本數(shù)據(jù)類(lèi)型2.引用數(shù)據(jù)類(lèi)型 數(shù)據(jù)類(lèi)型: Java語(yǔ)言是一個(gè)強(qiáng)類(lèi)型語(yǔ)言 1.所有變量羡铲,必須先聲明類(lèi)型...
    Ansaxnsy閱讀 995評(píng)論 0 7
  • 《送霾君》 作者 娜娜 云也朦朦霧蒙蒙,霧霾籠罩在龍城儡毕。 人流車(chē)流慢行進(jìn)也切,如同行在仙境中。 太陽(yáng)自東升高空腰湾,霧霾...
    芙蕖姑娘閱讀 244評(píng)論 2 2
  • Shaoerting (芯媽?zhuān)〡2017.11.26周日 芯芯第460天雷恃,15M+2天 1、感受:溫馨费坊、驚喜倒槐、快樂(lè)...
    Shaoerting閱讀 206評(píng)論 2 2