JAVA中分為基本數(shù)據(jù)類型及引用數(shù)據(jù)類型

一谈火、基本數(shù)據(jù)類型:

byte:Java中最小的數(shù)據(jù)類型舌涨,在內(nèi)存中占8位(bit),即1個字節(jié)温技,取值范圍-128~127扭粱,默認值0

short:短整型,在內(nèi)存中占16位系任,即2個字節(jié)虐块,取值范圍-32768~32717嘉蕾,默認值0

int:整型,用于存儲整數(shù)儡率,在內(nèi)在中占32位以清,即4個字節(jié),取值范圍-2147483648~2147483647掷倔,默認值0

long:長整型,在內(nèi)存中占64位浪汪,即8個字節(jié)-2^63~2^63-1,默認值0L

float:浮點型广恢,在內(nèi)存中占32位呀潭,即4個字節(jié),用于存儲帶小數(shù)點的數(shù)字(與double的區(qū)別在于float類型有效小數(shù)點只有6~7位)糠聪,默認值0

double:雙精度浮點型踏幻,用于存儲帶有小數(shù)點的數(shù)字,在內(nèi)存中占64位该面,即8個字節(jié),默認值0

char:字符型题造,用于存儲單個字符猾瘸,占16位,即2個字節(jié)淮悼,取值范圍0~65535揽思,默認值為空

boolean:布爾類型,占1個字節(jié)羹令,用于判斷真或假(僅有兩個值损痰,即true、false)卢未,默認值false

二、Java數(shù)據(jù)類型基本概念:

數(shù)據(jù)類型在計算機語言里面显拜,是對內(nèi)存位置的一個抽象表達方式,可以理解為針對內(nèi)存的一種抽象的表達方式矮固。接觸每種語言的時候譬淳,都會存在數(shù)據(jù)類型的認識,有復雜的守伸、簡單的浦妄,各種數(shù)據(jù)類型都需要在學習初期去了解,Java是強類型語言蠢涝,所以Java對于數(shù)據(jù)類型的規(guī)范會相對嚴格阅懦。數(shù)據(jù)類型是語言的抽象原子概念,可以說是語言中最基本的單元定義耳胎,在Java里面怕午,本質(zhì)上講將數(shù)據(jù)類型分為兩種:基本類型和引用數(shù)據(jù)類型。

  基本類型:簡單數(shù)據(jù)類型是不能簡化的郁惜、內(nèi)置的數(shù)據(jù)類型、由編程語言本身定義,它表示了真實的數(shù)字恨樟、字符和整數(shù)疚俱。

  引用數(shù)據(jù)類型:Java語言本身不支持C++中的結(jié)構(gòu)(struct)或聯(lián)合(union)數(shù)據(jù)類型,它的復合數(shù)據(jù)類型一般都是通過類或接口進行構(gòu)造养晋,類提供了捆綁數(shù)據(jù)和方法的方式,同時可以針對程序外部進行信息隱藏逊抡。

三零酪、Java中的數(shù)據(jù)類型與內(nèi)存的關(guān)系

在Java中,每個存放數(shù)據(jù)的變量都是有類型的四苇,如:

char ch; float x蟀架; int a,b,c榆骚;

ch是字符型的,就會分配到2個字節(jié)內(nèi)存穆碎。不同類型的變量在內(nèi)存中分配的字節(jié)數(shù)不同职恳,同時存儲方式也是不同的。

所以給變量賦值前需要先確定變量的類型色徘,確定了變量的類型操禀,即確定了數(shù)據(jù)需分配內(nèi)存空間的大小,數(shù)據(jù)在內(nèi)存的存儲方式斤寂。

四揪惦、Java數(shù)據(jù)類型在內(nèi)存中的存儲:

1)基本數(shù)據(jù)類型的存儲原理:所有的簡單數(shù)據(jù)類型不存在“引用”的概念,基本數(shù)據(jù)類型都是直接存儲在內(nèi)存中的內(nèi)存棧上的溪猿,數(shù)據(jù)本身的值就是存儲在棧空間里面讲弄,而Java語言里面八種數(shù)據(jù)類型是這種存儲模型依痊;

2)引用類型的存儲原理:引用類型繼承于Object類(也是引用類型)都是按照Java里面存儲對象的內(nèi)存模型來進行數(shù)據(jù)存儲的,使用Java內(nèi)存堆和內(nèi)存棧來進行這種類型的數(shù)據(jù)存儲驹饺,簡單地講缴渊,“引用”是存儲在有序的內(nèi)存棧上的,而對象本身的值存儲在內(nèi)存堆上的蝌借;

區(qū)別:基本數(shù)據(jù)類型和引用類型的區(qū)別主要在于基本數(shù)據(jù)類型是分配在棧上的指蚁,而引用類型是分配在堆上的(需要java中的棧、堆概念)稍坯,

基本類型和引用類型的內(nèi)存模型本質(zhì)上是不一樣的搓劫。

例1:我們分析一下”==“和equals()的區(qū)別。

首先枪向,我定以兩個String對象

Stringa="abc";

Stringb="abc";

然后

if(a==b){

System.out.println("a==b");

}else{

System.out.println("a!=b");}

程序輸出a!=b

原因:a和b的地址是不相同的秘蛔,a==b比較的是兩個變量的地址

例2:定義兩個基本類型

int a=4;

int b=4;

if(a==b){System.out.println("a==b");}

else

{System.out.println("a!=b");}

輸出:a==b

原因:==比較的是兩個變量的內(nèi)容

猜想:不論是基本數(shù)據(jù)類型還是引用類型,他們都會先在棧中分配一塊內(nèi)存负蠕,對于基本類型來說倦畅,這塊區(qū)域包含的是基本類型的內(nèi)容;而對于對象類型來說止吁,這塊區(qū)域包含的是指向真正內(nèi)容的指針燎悍,真正的內(nèi)容被手動的分配在堆上。

五忆某、Java基本類型取值范圍計算

從計算機組成原理的角度可以解釋:

byte在計算機中是占8個字節(jié)的奏路,而且byte 是有符號整形,用二進制表示時候最高位為符號位 0代表正數(shù) 1代表負數(shù)斜脂。

最大值:127? ? ? 即2的7次方減去1触机;最小值:即2的7次前面加個負符號:-128 。(包含開始片任,不包含結(jié)尾)蔬胯;

正數(shù)在計算機中是以原碼形式存在的;

負數(shù)在計算機中是以其補碼形式存在的产场,就是負數(shù)的絕對值的原碼轉(zhuǎn)為二進制再按位取反后加1泼橘。

下邊這個10和-10為例來介紹的 :10原碼:00001010? 它在計算機中的存儲就是 0000 1010,-10 按照前面說的算除其絕對值為10醋粟,轉(zhuǎn)為二進制 0000 1010 按位取反 1111 0101 再加1后:1111 0110重归,此為-10補碼,好的育苟,計算機中的1111 0110就是代表-10了椎木。

我們來看 -128? 絕對值128的二進制表示:1000 0000 按位取反 0111 1111 加1后:1000 0000博烂,也就是說 -128在計算機中的表示就是 1000 0000 了禽篱,再來看一下-129 在計算機中的表示馍惹,絕對值129的范圍已經(jīng)超出了了byte的位數(shù)。所以要注意這類問題万矾。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末良狈,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吕朵,更是在濱河造成了極大的恐慌窥突,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異称近,居然都是意外死亡,警方通過查閱死者的電腦和手機凳谦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門尸执,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缓醋,“玉大人,你說我怎么就攤上這事褪贵。” “怎么了世舰?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵槽卫,是天一觀的道長晒夹。 經(jīng)常有香客問我姊氓,道長,這世上最難降的妖魔是什么读跷? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任禾唁,我火速辦了婚禮,結(jié)果婚禮上丐枉,老公的妹妹穿的比我還像新娘掘托。我一直安慰自己,他們只是感情好弯院,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布听绳。 她就那樣靜靜地躺著异赫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贴妻。 梳的紋絲不亂的頭發(fā)上蝙斜,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天孕荠,我揣著相機與錄音攻谁,去河邊找鬼弯予。 笑死,一個胖子當著我的面吹牛锈嫩,可吹牛的內(nèi)容都是我干的呼寸。 我是一名探鬼主播,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼河狐,長吁一口氣:“原來是場噩夢啊……” “哼瑟捣!你這毒婦竟也來了迈套?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤雏赦,失蹤者是張志新(化名)和其女友劉穎芙扎,沒想到半個月后星岗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡戒洼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年俏橘,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片圈浇。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡寥掐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出磷蜀,到底是詐尸還是另有隱情召耘,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布褐隆,位于F島的核電站污它,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏衫贬。R本人自食惡果不足惜德澈,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望固惯。 院中可真熱鬧梆造,春花似錦、人聲如沸葬毫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贴捡。三九已至摊聋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間栈暇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工箍镜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留源祈,地道東北人。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓色迂,卻偏偏與公主長得像香缺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子歇僧,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348

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

  • 專業(yè)考題類型管理運行工作負責人一般作業(yè)考題內(nèi)容選項A選項B選項C選項D選項E選項F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 8,981評論 0 13
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,092評論 1 32
  • 第6章類文件結(jié)構(gòu) 6.1 概述 6.2 無關(guān)性基石 6.3 Class類文件的結(jié)構(gòu) java虛擬機不和包括java...
    kennethan閱讀 913評論 0 2
  • 前言 不知道大家有沒有這樣一種感覺诈悍,程序員的數(shù)量井噴了祸轮。可能是因為互聯(lián)網(wǎng)火了侥钳,也可能是各家培訓機構(gòu)為我們拉來了大量...
    活這么大就沒飽過閱讀 2,714評論 6 26
  • 晚自修回來适袜,大寶貝滿面春風地對我說:“媽媽,告訴你一個好消息舷夺,我進吉他社了苦酱。”我聽了给猾,真是心花怒放哦疫萤!孩子斷斷續(xù)續(xù)...
    happylinzi閱讀 78評論 0 0