Java基礎(chǔ)之類型與運(yùn)算

1稠氮、常量:故名思意曹阔,就是在整個(gè)程序中不會(huì)改變的量值

注意:boolean類型也是常量,它只有兩個(gè)值(true隔披,false)赃份。

2、變量:用來存儲(chǔ)數(shù)據(jù)的存儲(chǔ)空間奢米,它沒有固定的值抓韩,可以重復(fù)使用,用來存儲(chǔ)一某一類常量鬓长。當(dāng)變量確定了數(shù)據(jù)類型時(shí)谒拴,它就只能存儲(chǔ)這一個(gè)類型的常量。

? ? ? 特點(diǎn):1涉波、在內(nèi)存中有自己的一片存儲(chǔ)空間

? ? ? ? ? ? ? ? 2英上、可以重復(fù)使用

? ? ? ? ? ? ? ? 3、有自己特有的名稱(變量名)和數(shù)據(jù)類型

? ? ? ? ? ? ? ? 4怠蹂、沒有固定的數(shù)據(jù)善延,可以不斷改變

? ? ? ? 定義變量:(格式都是固定的)

? ? ? ? 第一種方法:

? ? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)類型變量名;

? ? ? ? ? ? ? ? ? ? ? 變量名=數(shù)值城侧;

? ? ? ?第二種方法:(推薦)

? ? ? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)類型變量名=數(shù)值易遣;

? ? ? 注意:為了提高代碼的可閱讀性,要避免多個(gè)變量一起定義

? ? ?分類:全局變量和局部變量

? ? ? ? ? ? ? 全局變量:(成員變量)定義在方法體之外嫌佑,類體之內(nèi)的變量

局部變量:除去全局變量豆茫,都是局部變量

變量作用域:

? ? ? ? ?1、指變量的存在范圍屋摇,只有在這個(gè)范圍內(nèi)揩魂,程序代碼才能訪問它。當(dāng)一個(gè)變量被定義時(shí),它的作用域就確定了:

? ? ? ? ?2炮温、作用域是定義開始到定義所在結(jié)構(gòu)體結(jié)束就不再有作用了(final,static定義的變量除外)

? ? ? ? 3火脉、當(dāng)方法體中定義的變量(局部變量)與它所在的類中定義的變量(成員變量)(方法體外)名稱相同時(shí),方法中調(diào)用這個(gè)變量柒啤,會(huì)覆蓋掉成員變量選擇調(diào)用局部變量倦挂。

? ? ? ?4、Main方法中無法調(diào)用他所在的類的非靜態(tài)方法担巩。

變量的使用規(guī)則:

? ? ? 1方援、 ?應(yīng)該在使用變量之前定義變量

System.out.println("d="+d);

int d = 3;

VarDemo.java:33:錯(cuò)誤:找不到符號

System.out.println("d="+d);

已經(jīng)存在這個(gè)變量

int b = 3;

int b = 3;

VarDemo.java:40:錯(cuò)誤:已在方法main(String[])中定義了變量b

必須聲明變量數(shù)據(jù)類型才可以使用變量

d = 23; ? VarDemo.java:48:錯(cuò)誤:找不到符號

? ? 2、數(shù)據(jù)類型:

可以分為基本數(shù)據(jù)類型(原生數(shù)據(jù)類型)和引用數(shù)據(jù)類型(對象數(shù)據(jù)類型)

基本數(shù)據(jù)類型有八種可分為:

整數(shù)型:byte(1個(gè)字節(jié))涛癌、short(2個(gè)字節(jié))犯戏、int(4個(gè)字節(jié))送火、long(8個(gè)字節(jié))

浮點(diǎn)型:float(4個(gè)字節(jié))、double(8個(gè)字節(jié))

布爾類型(常數(shù)):boolean(1位)(true先匪,false)

字符型:char(2個(gè)字節(jié))

最常用的引用數(shù)據(jù)類型:(String)

字符串類型的數(shù)據(jù)與任意的數(shù)據(jù)相加最終的數(shù)據(jù)類型一定是字符串?dāng)?shù)據(jù)類型

System.out.println(12+23+"努力學(xué)好");

//結(jié)果為:35努力學(xué)好

System.out.println(12+"我要學(xué)好JAVA"+34);

//結(jié)果為:12我要學(xué)好JAVA34

String str = 23+"我要學(xué)好JAVA";

str = (String)12 + "我要學(xué)好JAVA";

不可以強(qiáng)制轉(zhuǎn)換為String類型

//StringDemo.java:15:錯(cuò)誤:不可轉(zhuǎn)換的類型

4种吸、基本數(shù)據(jù)類型轉(zhuǎn)換

1、自動(dòng)數(shù)據(jù)類型轉(zhuǎn)換(boolean不參與數(shù)據(jù)類型轉(zhuǎn)換胚鸯,因?yàn)樗皇菙?shù)值類型)

將范圍小的數(shù)據(jù)類型轉(zhuǎn)換成范圍大的數(shù)據(jù)類型

注意:byte骨稿、char、short之間是不可以轉(zhuǎn)換的并且在定義他們是系統(tǒng)會(huì)

自動(dòng)的對他們進(jìn)行強(qiáng)制轉(zhuǎn)換(在沒有溢出的范圍之內(nèi))

2姜钳、強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換

格式:范圍小的變量=(范圍小變量對應(yīng)的數(shù)據(jù)類型)范圍大的變量坦冠;

將范圍大的數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換成范圍小的數(shù)據(jù)類型

注意此過程可能會(huì)是數(shù)據(jù)的精度有所降低或者出現(xiàn)溢出的現(xiàn)象

3、表達(dá)式類型的自動(dòng)提升

在表達(dá)式中計(jì)算時(shí)所有的byte哥桥、short辙浑、char變量都會(huì)自動(dòng)提升為int型的。

兩個(gè)變量在表達(dá)式中做運(yùn)算是拟糕,如果兩個(gè)變量的數(shù)據(jù)類型不一樣判呕,那么表達(dá)式就會(huì)自動(dòng)提升那個(gè)范圍小的變量,使它與那個(gè)范圍大的變量范圍相同也就是說提升到相同的數(shù)據(jù)類型且為那個(gè)范圍大變量的數(shù)據(jù)類型送滞。

范圍大小如下:byte侠草、short、char-->int -->long --> float --> double

5犁嗅、運(yùn)算符

++和--

++在前是先對右邊的表達(dá)式進(jìn)行處理然后再將值賦給左邊的變量

++在后是先對右邊的表達(dá)式進(jìn)行處理然后再將處理之前的數(shù)值賦值給變量

--同理

如題:

int sum = 4;

sum = sum++;

System.out.println(sum); ? ?//輸出結(jié)果為:4

sum = ++sum;

System.out.println(sum);//輸出結(jié)果為: 5

sum++;

System.out.println(sum);//輸出結(jié)果為: 6

++sum;

System.out.println(sum);//輸出結(jié)果為: 7

int a = sum++;

System.out.println(a);//輸出結(jié)果為: 7

System.out.println(sum);//輸出結(jié)果為: 8

a = ++sum;

System.out.println(a);//輸出結(jié)果為: 9

System.out.println(sum);//輸出結(jié)果為: 9

6边涕、賦值運(yùn)算符 (推薦單一賦值,不推薦多個(gè)變量一起賦值)

例如:

int sum = 3;

sum +=4;//等價(jià)于sum = sum + 3;

System.out.println(sum);//結(jié)果為:7

7褂微、比較運(yùn)算符

用于比較兩個(gè)變量或常量之間的關(guān)系功蜓,比較運(yùn)算符的結(jié)果是boolean類型,其操作格式為:

boolean ?result =表達(dá)式A比較運(yùn)算符 ? 表達(dá)式B;

==:等于,若比較的是兩個(gè)操作數(shù)都是數(shù)值類型宠蚂,即使他們的類型不同式撼,只要值相同就返回true。

8求厕、三目運(yùn)算符

格式:比較運(yùn)算的表達(dá)式著隆?返回結(jié)果1:返回結(jié)果2

首先先判定表達(dá)式的真假,如果為真返回結(jié)果1否則返回結(jié)果2

例:int e = 4<5?4:5; ? //利用三目運(yùn)算符找出兩個(gè)數(shù)中較小的一個(gè)

System.out.println(e); ?//結(jié)果為:4

9呀癣、邏輯運(yùn)算符

語法格式為:boolean ?result =表達(dá)式A邏輯運(yùn)算符 ? 表達(dá)式B;

^:判斷A和B是否不同旅东,不同則為true,相同則為false十艾。

!:取反,!true結(jié)果是false腾节,!fasle結(jié)果是true

兩組運(yùn)算符的異同

&與&&和|與||一樣忘嫉,下面就以&與&&為例

相同:都可以用來進(jìn)行邏輯運(yùn)算荤牍,而且計(jì)算的結(jié)果都是相同的。

不同:&的運(yùn)算是必須將所有的表達(dá)式判斷完然后在運(yùn)算的而&&的運(yùn)算時(shí)只要前面的表達(dá)式可以判斷它的真假將就不再進(jìn)行下去直接輸出結(jié)果庆冕。

例:

System.out.println(false&0<(0/0));

//Exception in thread "main" java.lang.ArithmeticException: / by zero,說明在執(zhí)行0<(0/0)時(shí)出現(xiàn)了異常

System.out.println(false&&0<0/0);

//結(jié)果為:false

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末康吵,一起剝皮案震驚了整個(gè)濱河市,隨后出現(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ī)與錄音酷勺,去河邊找鬼本橙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛脆诉,可吹牛的內(nèi)容都是我干的甚亭。 我是一名探鬼主播贷币,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼亏狰!你這毒婦竟也來了役纹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤暇唾,失蹤者是張志新(化名)和其女友劉穎促脉,沒想到半個(gè)月后,有當(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
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抽活。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片硫戈。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖下硕,靈堂內(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. 我叫王不留臂外,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像漏健,于是被迫代替她去往敵國和親辜膝。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

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

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法漾肮,類相關(guān)的語法,內(nèi)部類的語法茎毁,繼承相關(guān)的語法克懊,異常的語法,線程的語...
    子非魚_t_閱讀 31,630評論 18 399
  • Java經(jīng)典問題算法大全 /*【程序1】 題目:古典問題:有一對兔子七蜘,從出生后第3個(gè)月起每個(gè)月都生一對兔子谭溉,小兔子...
    趙宇_阿特奇閱讀 1,864評論 0 2
  • 第一章 初識javaJAVA 第一講:什么是程序?:為了讓計(jì)算機(jī)執(zhí)行某些操作或解決某個(gè)問題而編寫的一系列有序指令的...
    人子日月幾點(diǎn)閱讀 517評論 0 1
  • 1 順序語句 語句:使用分號分隔的代碼稱作為一個(gè)語句。 注意:沒有寫任何代碼只是一個(gè)分號的時(shí)候橡卤,也是一條語句扮念,...
    哈哈哎呦喂閱讀 381評論 0 0
  • “小周,幫我把這個(gè)文件打印一下碧库」裼耄” “小周,幫我把這個(gè)方案改改嵌灰∨埃” “小周,幫我……” 初入職的小周皺著眉頭沽瞭,極不...
    想飛的蝸牛閱讀 311評論 0 0