第三章 操作符

3.3優(yōu)先級(jí)

最簡(jiǎn)單的規(guī)則就是:先乘除后加減.
3.4賦值和方法調(diào)用別名(引用)
3.5操作運(yùn)算符 
一元加,減 和加號(hào)会喝,減號(hào)擁有同樣的符號(hào).編譯器能爭(zhēng)取的識(shí)別.
3.6自加,自減
i++,++i/i--,--i
兩種形式的自加蜻直,減.i的最后值都會(huì)變化.但是在表達(dá)式中的左值是不同的.表達(dá)式中運(yùn)算的左值的順序是這樣的.
i++表示 i先賦值,然后i自身+1, 但是與這個(gè)馬上運(yùn)算的數(shù)是和賦值的先運(yùn)算.
++i 表示涉馅,先自加,然后賦值
以下例子:

private void test() {
    int a = 2;
    int x = a++ * +a + a;
    a = 2;
    int y = ++a * +a + a;
    System.out.println("x=" + x + " a=" + a);
    System.out.println("y=" + y + " a=" + a);
}
//結(jié)果 :
x=9 a=3
y=12 a=3

這里面  a++ * +a + a  先a賦值=2,用這個(gè)值參與運(yùn)算;a再自增截汪,第二個(gè)變量開(kāi)始的a=3了
所以表達(dá)式 等價(jià)與2(+3)+3= 9;
這里的 ++a * +a +a ,a先自加廊遍,用這個(gè)值進(jìn)行參與運(yùn)算,所以一開(kāi)始 a=3,表達(dá)式等價(jià)與 3
(+3)+3 =12;

private void test2() {
    int x = 1;
    System.out.println("x " + x);
    System.out.println("++x " + ++x);
    System.out.println("x++ " + x++);
    System.out.println("x " + x);
    System.out.println("--x " + --x);
    System.out.println("x-- " + x--);
    System.out.println("x " + x);
}
//out 
x   1
++x 2
x++ 2
x   3
--x 2
x-- 2
x   1

3.8.1 短路

在邏輯運(yùn)算符中兢仰,如果前面的表達(dá)式能夠明確無(wú)誤的判斷整個(gè)表達(dá)式的值乍丈,剩余部分的表達(dá)式是不會(huì)執(zhí)行的.這就是短路.
false && XXX ==>false true || XXX==>true

3.9直接常量

八進(jìn)制的數(shù)據(jù): 以0開(kāi)頭,里面的數(shù)字只能在 0-7之間

private void test3() {
    System.out.println("x   " + 010);
    System.out.println("x   " + 0170);
}
//--
x   8
x   120

3.10按位運(yùn)算符

^(亦或) xor : 數(shù)學(xué)公式a⊕b = (?a ∧ b) ∨ (a ∧?b)  如果a把将、b兩個(gè)值不相同轻专,則異或結(jié)果為1。如果a察蹲、b兩個(gè)值相同请垛,異或結(jié)果為0
按位操作可以與= 聯(lián)合使用,以便合并運(yùn)算和賦值 ,例如 &= ,|=, ^= 但是 ~ 不能與=合并递览,因?yàn)閪是一元操作.
對(duì)于布爾類型值運(yùn)算叼屠,可以進(jìn)行 & , | , ^ 但是不能進(jìn)行取反(~), 因?yàn)楹汀? 沖突.在布爾類型的的運(yùn)算中瞳腌,中途不會(huì)短路.

private void test4() {
    int a = 0x1;
    int b = 0x0;
    int x = (a | a | a & b);
   
   //這里 可以轉(zhuǎn)化成表達(dá)式 y=(a=(a|(a|a&b)))  所以 y=a
    int y = (a |= a | a & b);  

    boolean booleanA = true;
    boolean booleanB = booleanA ^ booleanA;
    System.out.println("a" + Integer.toBinaryString(a));
    System.out.println("b" + Integer.toBinaryString(b));
    System.out.println("x" + Integer.toBinaryString(x));
    System.out.println("y" + Integer.toBinaryString(y));
}
//output
a 1
b 0
x 1
y 1

3.11 移位操作

左移(<<)  向左移動(dòng)绞铃,右側(cè)補(bǔ)0
右移(>>) 按照右側(cè)制定的位數(shù),向左側(cè)移動(dòng).符號(hào)位按照”符號(hào)擴(kuò)展”方式:符號(hào)為+嫂侍,如果位數(shù)不夠在高位插0儿捧;若符號(hào)為荚坞,位數(shù)不夠在高位插1.
無(wú)符號(hào)右移(>>>),不管符號(hào)位 是正負(fù)菲盾,位數(shù)不夠都在高位插0
移位可以與= 組合使用(<<= , >>= ,>>>=).但是”無(wú)符號(hào)”右移操作時(shí)颓影,可能會(huì)遇到問(wèn)題,當(dāng)short ,byte 值進(jìn)行以為運(yùn)算懒鉴,得到的可能不是正確的值诡挂,因?yàn)樾枰D(zhuǎn)成int ,在進(jìn)行右移操作,然后被截?cái)嗔倨祝x值給原來(lái)的類型.

3.13 字符串操作 + 和 +=

如果一個(gè)表達(dá)式是 字符串開(kāi)頭璃俗,那么后續(xù)的所有操作數(shù)都必須是字符串,編譯器會(huì)自動(dòng)把雙引號(hào)里面的字符序列自動(dòng)轉(zhuǎn)成字符串.但是對(duì)于字符串前面的數(shù)據(jù)悉默,能夠按正常的運(yùn)算處理城豁,后面的數(shù)據(jù)需要用括號(hào)括起來(lái).

private void testStr() {
    int x = 10;
    int y = 20;
    int z = 30;
    System.out.println("字符串后的數(shù)字 " + x + y);
    System.out.println("字符串后的數(shù)字 " + (x + y));
    System.out.println(x + y + " x+y 字符串前,x+y字符串后 " + x + y);
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市抄课,隨后出現(xiàn)的幾起案子唱星,更是在濱河造成了極大的恐慌,老刑警劉巖跟磨,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件间聊,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡抵拘,警方通過(guò)查閱死者的電腦和手機(jī)甸饱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)仑濒,“玉大人叹话,你說(shuō)我怎么就攤上這事《胀” “怎么了驼壶?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)喉酌。 經(jīng)常有香客問(wèn)我热凹,道長(zhǎng),這世上最難降的妖魔是什么泪电? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任般妙,我火速辦了婚禮,結(jié)果婚禮上相速,老公的妹妹穿的比我還像新娘碟渺。我一直安慰自己,他們只是感情好突诬,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布苫拍。 她就那樣靜靜地躺著芜繁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绒极。 梳的紋絲不亂的頭發(fā)上骏令,一...
    開(kāi)封第一講書(shū)人閱讀 49,842評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音垄提,去河邊找鬼榔袋。 笑死,一個(gè)胖子當(dāng)著我的面吹牛铡俐,可吹牛的內(nèi)容都是我干的摘昌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼高蜂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼聪黎!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起备恤,我...
    開(kāi)封第一講書(shū)人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤稿饰,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后露泊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體喉镰,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年惭笑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侣姆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沉噩,死狀恐怖捺宗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情川蒙,我是刑警寧澤蚜厉,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站畜眨,受9級(jí)特大地震影響昼牛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜康聂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一贰健、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恬汁,春花似錦伶椿、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)游昼。三九已至甘苍,卻和暖如春尝蠕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背载庭。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工看彼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人囚聚。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓靖榕,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親顽铸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子茁计,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

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

  • 《ilua》速成開(kāi)發(fā)手冊(cè)3.0 官方用戶交流:iApp開(kāi)發(fā)交流(1) 239547050iApp開(kāi)發(fā)交流(2) 1...
    葉染柒丶閱讀 10,599評(píng)論 0 11
  • 《ijs》速成開(kāi)發(fā)手冊(cè)3.0 官方用戶交流:iApp開(kāi)發(fā)交流(1) 239547050iApp開(kāi)發(fā)交流(2) 10...
    葉染柒丶閱讀 5,094評(píng)論 0 7
  • 我在想我的2016 實(shí)習(xí)1月開(kāi)始上2015面年審項(xiàng)目從此知道了真的會(huì)連續(xù)出差一個(gè)多月,從外資企業(yè)開(kāi)始所有的項(xiàng)目全部...
    FAY_WANG閱讀 112評(píng)論 0 0
  • 1.抽象類可以有構(gòu)造方法谓松,但是接口中不能有構(gòu)造方法 2.抽象類中可以有普通成員變量星压,接口中沒(méi)有普通成員變量 3.抽...
    晨星資源閱讀 165評(píng)論 0 0
  • 從組合剛開(kāi)始出道起就特別喜歡王嘉爾娜膘,got7的中國(guó)成員,剛開(kāi)始喜歡他只是因?yàn)樗目蓯?ài)與帥氣优质,就覺(jué)得這個(gè)和我差不多...
    仰望look月閱讀 1,637評(píng)論 2 7