[JAVA] Java 變量配紫、表達(dá)式和數(shù)據(jù)類型詳解

數(shù)據(jù)類型


一径密、變量

變量: 表示存儲空間,可用來存放某一類型(整數(shù)躺孝、小數(shù)...)的數(shù)據(jù)享扔,沒有固定值,變量值是可變的植袍,可重復(fù)使用惧眠,也可以用來存儲某種類型的未知數(shù)據(jù)。

變量的特點(diǎn)

① 占據(jù)內(nèi)存中的一塊存儲區(qū)域于个;

② 該存儲區(qū)域有自己的名稱(變量名)和類型(數(shù)據(jù)類型)氛魁;

③ 可以被重復(fù)使用,可以在多處使用;

④ 該區(qū)域的數(shù)據(jù)可以在同一類型范圍內(nèi)不斷變化厅篓;

Java變量的定義

1.先聲明秀存,再賦值:


int i;

i = 13;


2.聲明的同時賦值:

int i = 13;

3.同時聲明多個變量:

int i = 13贷笛,j = 14应又,k = 15;


變量的分類

根據(jù)變量在類中定義的位置的不同乏苦,把變量分成兩大類株扛;

成員變量:直接定義在類里的變量,又稱為全局變量或者字段汇荐,亦或稱之為屬性洞就。

局部變量:變量除了成員變量之外,其他的就是局部變量掀淘;局部變量根據(jù)定義位置的不同有3種表現(xiàn)形式:方法形參旬蟋,方法內(nèi)變量,代碼塊變量革娄。

變量作用域:變量的作用范圍或者可訪問范圍倾贰,只有作用域內(nèi)冕碟,變量才能被其他程序代碼訪問。當(dāng)一個變量被定義時,它的作用域就確定了: 從定義開始到定義所在的花括號結(jié)束匆浙。


變量使用規(guī)則

1. 變量必須先聲明安寺,并且初始化后才能使用;

2. 聲明變量必須有數(shù)據(jù)類型首尼,不同的數(shù)據(jù)類型在內(nèi)存中有不同的存儲空間挑庶;

2. 同一作用域內(nèi)變量名不能重復(fù)定義,且Java對大小寫敏感软能;


常量:程序中固定不變化的值迎捺,在Java中常量的生命周期從創(chuàng)建開始,到JVM關(guān)閉結(jié)束查排;

字面值常量: 也稱字面量凳枝,或者直接量,表示直接給出的一個值(可以是整數(shù),小數(shù),true,false等)雹嗦,比如:整數(shù)常量1范舀,2,3了罪,小數(shù)常量3.14,布爾常量false聪全,true等泊藕;


二、表達(dá)式

由數(shù)字难礼、運(yùn)算符娃圆、數(shù)字分組符號(括號)、常量蛾茉、變量等能表達(dá)一個有意義的結(jié)果的排列組合讼呢;用運(yùn)算符號連接的變量/常量可稱為表達(dá)式。如:


k = i + j;

i - j谦炬;


表達(dá)式中操作數(shù)進(jìn)行運(yùn)算得到的最終結(jié)果就是表達(dá)式的結(jié)果悦屏,表達(dá)式的運(yùn)算順序大多和數(shù)學(xué)一樣。

表達(dá)式


三键思、數(shù)據(jù)類型

Java 數(shù)據(jù)類型


分類:在Java中數(shù)據(jù)類型整體上分成兩大類:

1.基本數(shù)據(jù)類型/原生數(shù)據(jù)類型础爬,共8個:

整數(shù)類型 : byte short int long

小數(shù)類型 :? float double

2. 引用數(shù)據(jù)類型/對象數(shù)據(jù)類型:類/接口/數(shù)組;

3. 在Java中吼鳞,整數(shù)的默認(rèn)類型是int看蚜,小數(shù)的默認(rèn)類型是double

boolean(布爾)類型:通常用于邏輯運(yùn)算和程序流程控制(條件選擇/循環(huán)),該類型的值只能是true 或 false赔桌,表示真或假供炎,false和true是boolean的常量渴逻;在Java語法中不可以使用0或非0的整數(shù)來代替false和true,注意區(qū)分于C語言音诫,C語言是允許這樣的裸卫;

(特別說明:其實在JVM(Java虛擬機(jī))中對boolean的處理是用0表示false,非0表示true的纽竣,但在語法中不允許的墓贿。)

默認(rèn)情況下,布爾類型的值是false蜓氨;


整數(shù)類型: 有byte聋袋、short、int穴吹、long 這4種類型幽勒;

整型常量的四種表示形式:

① 二進(jìn)制整數(shù):0B或0b開頭(Java7的新特性),如:int a = 0B110;

② 八進(jìn)制整數(shù):要求以0開頭港令,如 int a = 012;

③ 十進(jìn)制整數(shù):如:int a = 17;

④ 十六進(jìn)制整數(shù):要求0X或0x開頭啥容,如int a = 0x12;

Java語言的整型常量默認(rèn)是int型,聲明long型變量需要在其后加上‘l’或‘L顷霹,因小寫的l容易和數(shù)字1相混淆咪惠,建議使用大寫L。


小數(shù)類型: 有float淋淀、double兩種類型遥昧;小數(shù)類型又稱為浮點(diǎn)類型,float表示單精度類型朵纷,double表示雙精度類型炭臭,但是二者都不能表示精確的小數(shù)。在精度要求高的系統(tǒng)比如:銀行系統(tǒng)袍辞,計費(fèi)系統(tǒng)的高精度計算中鞋仍,通常會使用BigDecimal類型。

Java的浮點(diǎn)類型常量有兩種表現(xiàn)形式:

十進(jìn)制形式: 例如:3.14 搅吁,168.0威创, 0.618

科學(xué)計數(shù)法形式: 例如:3.14e2, 3.14E2似芝, 1000E-2 那婉,科學(xué)計數(shù)法表達(dá)式返回的結(jié)果是double類型;這里的e/E 表示10党瓮,即 3.14e2 = 3.14 x 10^2详炬。

默認(rèn)情況下,一個浮點(diǎn)類型的字面量默認(rèn)是double類型.若要聲明一個常量為float型,則需在常量后加上f 或 F,double常量后面的D或d可省略呛谜。

注意:Java里只有浮點(diǎn)型的變量才可以接受科學(xué)計算式結(jié)果在跳。

字符類型(char): 字符,字母和符號;char類型:表示16位的無符號整數(shù)或者Unicode字符隐岛,Java對字符采用Unicode字符編碼猫妙。

Unicode收集了世界上所有語言文字中的符號,是一種跨平臺的編碼方式聚凹,Java的字符占兩個字節(jié)割坠,可以表示一個漢字。

什么是編碼呢妒牙?由于計算機(jī)只能表示0和1兩個數(shù)彼哼,于是人們做規(guī)定使用一個數(shù)字去表示一個特定的字符,比如a使用97表示湘今。于是誕生了ASCII(美國信息交互標(biāo)準(zhǔn)編碼)敢朱、Unicode這樣的字符編碼;char數(shù)據(jù)類型前256個字符和ASCII(美國信息交互標(biāo)準(zhǔn)編碼)碼中的字符重復(fù)摩瞎。

ascii 對照表


char常量有3種表示形式:

① 使用單個字符來指定字符常量拴签,用單引號括起來,格式如:''旗们、'A'蚓哩,'a';

char c = 'A';

② 作為十進(jìn)制整數(shù)數(shù)值使用蚪拦,但是數(shù)據(jù)范圍在[0杖剪,65535],格式如:97驰贷,不過打印出來的值是ASCII碼表中對應(yīng)的的符號:a。

char c = 97;

③ 和②一樣洛巢,但這里表示的是16進(jìn)制的數(shù)值括袒,格式如:'\\uX',X表示16進(jìn)制整數(shù)稿茉;如:97的16進(jìn)制是61锹锰。那么表示為‘\\u0061’打印出來也是a。

char c = '\\u0061';

所以可以說char本質(zhì)上也是整型漓库,數(shù)據(jù)范圍在0 ~ 65535.

引用類型:除了8種基本數(shù)據(jù)類型恃慧,其他所有類型都是引用數(shù)據(jù)類型,包括類渺蒿、接口痢士、數(shù)組。引用數(shù)據(jù)類型默認(rèn)初始值都是null茂装;字符串String其實是一個類怠蹂,不屬于基本數(shù)據(jù)類型善延,就不在這里講了,后期會單獨(dú)為String單獨(dú)介紹城侧。

四易遣、數(shù)據(jù)類型轉(zhuǎn)換

溢出:當(dāng)要表示的數(shù)據(jù)超出數(shù)據(jù)類型的臨界范圍時,稱為溢出嫌佑。溢出情況發(fā)生時程序并沒有做數(shù)據(jù)范圍檢查處理豆茫,此時會出現(xiàn)數(shù)據(jù)紊亂情況∥菀。看如下的:演示

int最大值是:2147483647揩魂,如果對 2147483647 + 1 結(jié)果會是多少呢?

int 最大值


計算結(jié)果變成了最小值-2147483648摊册,不是我們預(yù)料中的2147483648肤京;,可以把數(shù)據(jù)類型看做一個容器茅特,把數(shù)據(jù)看做要往容器中存放的物品忘分,比如水,水裝滿了就會溢出白修,想裝更多的水妒峦,就得使用更大的容器,這樣就比較好理解了兵睛;所以在使用中肯骇,要為數(shù)據(jù)選擇合適的數(shù)據(jù)類型,發(fā)生避免溢出這樣的錯誤祖很。

數(shù)據(jù)類型轉(zhuǎn)換:把數(shù)據(jù)從一種類型轉(zhuǎn)換到另一種類型笛丙,比如:從int到long,在8大基本數(shù)據(jù)類型中假颇,boolean不參與轉(zhuǎn)換胚鸯,因為boolean不屬于數(shù)值類型。轉(zhuǎn)換規(guī)則如下:

數(shù)據(jù)類型轉(zhuǎn)換


自動類型轉(zhuǎn)換笨鸡,也稱為“隱式類型轉(zhuǎn)換“姜钳, 當(dāng)把小數(shù)據(jù)范圍類型的數(shù)值或變量賦給另一個大數(shù)據(jù)范圍類型變量,系統(tǒng)可以完成自動類型轉(zhuǎn)型形耗。這好比把裝一斤水容器里的水倒進(jìn)可以裝兩斤水的容器里一樣哥桥。一般的,我們會直接把byte,short,char直接賦值給int類型激涤。

當(dāng)一個算術(shù)表達(dá)式中包含多個基本數(shù)據(jù)類型(boolean除外)的值時拟糕,整個算術(shù)表達(dá)式的數(shù)據(jù)類型將在數(shù)據(jù)運(yùn)算時出現(xiàn)類型自動提升,其規(guī)則是:所有的byte、short已卸、char類型被自動提升到int類型佛玄;整個表達(dá)式的最終結(jié)果類型被提升到表達(dá)式中類型最高的類型;

已有變量如下:


short s = 10;

byte a = 2;

int i = 5;

float f = 10.0F;

double d = 35.0;

判斷該表達(dá)式的結(jié)果類型:? (s / a) -(f / s) - (d + i)



表達(dá)式詳細(xì)運(yùn)行過程如下:


表達(dá)式運(yùn)行過程


完結(jié)累澡。老夫雖不正經(jīng)梦抢,但老夫一身的才華

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市愧哟,隨后出現(xiàn)的幾起案子奥吩,更是在濱河造成了極大的恐慌,老刑警劉巖蕊梧,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件霞赫,死亡現(xiàn)場離奇詭異,居然都是意外死亡肥矢,警方通過查閱死者的電腦和手機(jī)端衰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來甘改,“玉大人旅东,你說我怎么就攤上這事∈” “怎么了抵代?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長忘嫉。 經(jīng)常有香客問我荤牍,道長,這世上最難降的妖魔是什么庆冕? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任康吵,我火速辦了婚禮,結(jié)果婚禮上访递,老公的妹妹穿的比我還像新娘涎才。我一直安慰自己,他們只是感情好力九,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著邑闺,像睡著了一般跌前。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上陡舅,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天抵乓,我揣著相機(jī)與錄音,去河邊找鬼。 笑死灾炭,一個胖子當(dāng)著我的面吹牛茎芋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蜈出,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼田弥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了铡原?” 一聲冷哼從身側(cè)響起偷厦,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎燕刻,沒想到半個月后只泼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡卵洗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年请唱,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片过蹂。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡十绑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出榴啸,到底是詐尸還是另有隱情孽惰,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布鸥印,位于F島的核電站勋功,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏库说。R本人自食惡果不足惜狂鞋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望潜的。 院中可真熱鬧骚揍,春花似錦、人聲如沸啰挪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽亡呵。三九已至抽活,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锰什,已是汗流浹背下硕。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工丁逝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人梭姓。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓霜幼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親誉尖。 傳聞我的和親對象是個殘疾皇子罪既,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

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