Java運算符,看這一篇就夠了!

Java運算符:

目錄:

1.算術(shù)運算符

2.位運算符

3.賦值運算符

4.比較運算符

5.邏輯運算符

6.三目運算符

7.運算符的優(yōu)先級


1.算術(shù)運算符:

+? -? *? /? %

++??? --??? 只能操作【一個】【變量】

++? --? 即可放在變量之前厘熟。也可放在變量之后。

可放在變量之前维哈,先把變量 +1(-1)绳姨,然后再拿來用±樱可放在變量之后飘庄,先把變量拿來用,再把變量 +1(-1).

算數(shù)運算符Test程序 及 運行結(jié)果:

public class 算術(shù)運算符Test

{??

??? public static void main(String[] args)

??? {

??????? int a = 4 + 2 / 4 + 3 * 2 - 6 % 4;?

??????? System.out.println(a);

??????? int b = 3;

??????? int c = a++ / ++b - a-- % b++ - --a / a-- * ++a / b--;

?? ? ?? // 8? / 4? -? 9 % 4? -? 7 / 7 ? * 7? / 5

?? ? ?? System.out.println("a 的值是:" + a);

?? ? ?? System.out.println("b 的值是:" + b);

?? ? ?? System.out.println("c 的值是:" + c);

??? }

}


算數(shù)運算符Test

2.位運算符:

&????? :按位與

|?????? :按位或

~???? :按位非

^???? :按位異或

<<? :左移? ? ? ? 在右邊補(bǔ) 0 购撼,在沒有數(shù)據(jù)溢出的前提下跪削,左移 N 位,也是乘以 2 的N次方

>>? :右移? ? ? ? 在左邊補(bǔ)符號位迂求。? 右移 N 位碾盐,也是除以 2 的N次方。當(dāng)除不盡的情況揩局,實際得到的整數(shù)總是比實際算術(shù)計算的值略小

>>>:無符號右移??????? 在左邊補(bǔ)0

位運算符Test程序 及 運行結(jié)果:

public class 位運算符Test

??? {

??? public static void main(String[] args)

??? {

? ?? ?? byte bt = -2;

??????? byte be = 3;

??????? System.out.println(bt & be);// 只有上下兩位都是1,才得到1

?? ? ?? System.out.println(bt | be);// 只要上下兩位有一個1,就會得到1

?? ? ?? System.out.println(bt ^ be);// 只要上下兩位不一樣,就會得到1

?? ? ?? System.out.println(~bt);// 按位取反,包括符號位

?? ? ?? int a = 3;

?? ? ?? a = a << 3;? // 左移 N 位毫玖,在沒有數(shù)據(jù)溢出的前提下,

? ? ? ? ? ? ? ? ?? ? ? ?? // 相當(dāng)于在右邊補(bǔ)充 N 個0凌盯,也是乘以 2 的N次方

? ? ? ? System.out.println(a);

// 類似筆試題:怎么把一個數(shù)付枫,用最快的速度乘以8?左移3位即可十气。

?? ? ?? int b = 19;

? ? ? ? b = b >> 3;// 右移 N 位励背,

?? ? ?????????????????? // 相當(dāng)于截斷右邊的N位,也就是除以2的N次方

?? ? ????????????????? // 當(dāng)除不盡的情況砸西,實際得到的整數(shù)總是比實際算術(shù)計算的值略小

? ? ? ? System.out.println(b);

?? ? ?? int c = -3;

? ? ? ? c = c >>> 2;? ? //它會把負(fù)數(shù)變成正數(shù)

??????? System.out.println(c);

??? }

}


位運算符Test

3.賦值運算符:

=??? 叶眉,把右邊的值,賦給左邊的變量

賦值運算符左邊只能是變量

賦值語句本身是有值的芹枷,值 就等于右邊被賦的值衅疙。

擴(kuò)展后的賦值運算符:

??????? 賦值運算符可以與所有的雙目運算符結(jié)合,就形成了擴(kuò)展后的賦值運算符鸳慈。

a+=b???????????? 相當(dāng)于????? a = (a 的類型)(a + b)

a-=b? ? ? ? ? ??? 相當(dāng)于? ? ? a = (a 的類型)(a - b)

a*=b? ? ? ? ? ? ? 相當(dāng)于? ? ? a = (a 的類型)(a * b)

a/=b? ? ? ? ??? ? 相當(dāng)于? ? ? a = (a 的類型)(a /b)

a%=b?????? ? ?? 相當(dāng)于? ? ? a = (a 的類型)(a % b)

a|=b????????????? 相當(dāng)于? ? ? a = (a 的類型)(a | b)

a^=b???????????? 相當(dāng)于? ? ? a = (a 的類型)(a ^ b)

a<<=b????????? 相當(dāng)于? ? ? a = (a 的類型)(a << b)

a>>=b ? ?????? 相當(dāng)于? ? ? a = (a 的類型)(a >> b)

a>>>=b ?? ??? 相當(dāng)于? ? ? a = (a 的類型)(a >>> b)

擴(kuò)展后的賦值運算符 程序 及 運行結(jié)果:

public class 擴(kuò)展后的賦值運算符

{

??? public static void main(String[] args)

??? {

? ?? ?? byte a = 20;// 20 本身是 int 型饱溢,但由于20在 -128~127 之間,系統(tǒng)會自動把它當(dāng)成 byte

??????? //a = a + 2;? // 2是 int 型走芋,表達(dá)式類型自動提升到 int 型绩郎,是錯的

??????? a += 2;? ? // 相當(dāng)于 a = (byte)(a + 2)? 因此是對的

?? ? ?? //20 += a;? ? // 相當(dāng)于 20 = (int)(20 + a)潘鲫。賦值左邊只能是變量,所以是錯的

?? ? ?? int b = 3;? // 相當(dāng)于 b = 0b11

? ? ? ? b ^= 11;? ? // 相當(dāng)于 b = b ^ 11.? 11的二進(jìn)制碼為 0b1011

? ? ? ? System.out.println("b的值為" + b);

??? }

}


擴(kuò)展后的賦值運算符

4.比較運算符:只能返回 true 或 false

a > b:??? 只有 a 大于 b肋杖,返回 true溉仑,如果 a < b,或 a == b状植,返回 false浊竟。

a < b:??? ……

a >= b:……

a <= b:……

a == b:……

a != b:……

比較運算符的左右的東西,即可是變量津畸,也可是直接量振定,也可以是表達(dá)式。

比較運算符 程序 及 運行結(jié)果:
public class 比較運算符

{

??? public static void main(String[] args)

??? {

??????? boolean bo = 5 >= 3;

??????? System.out.println("bo的值是" + bo);

?? ? ?? boolean bn = 3 >= 5;

? ? ? ? System.out.println("bn的值是" + bn);

?? ? ?? int a = 100;

?? ? ?? int b = 20;

? ? ? ? boolean b1 = (a += 2) >= (b *= 6);

? ? ? ? System.out.println("b1的值是" + b1);

? ? ? ? System.out.println("a的值是" + a);

? ? ? ? System.out.println("b的值是" + b);

??? }

}


比較運算符

5.邏輯運算符:它的操作數(shù)要求只能是 boolean 值

它左右的操作數(shù)即可是變量肉拓,也可是直接量后频,也可以是表達(dá)式。

&&??? :? 兩個操作數(shù)都是 true 才返回 true帝簇。?? 只要有一個 false 徘郭,就會 false

&????? :? 不會短路

||? ? ? :? 只要一個操作數(shù)是 true ,就返回 true丧肴。? 只要有一個 true 残揉,就會 true

|?????? :? 不會短路

!?????? :? 取反。單目元素芋浮,原來是 true 抱环,變成 false;原來是 false纸巷,變成 true

^????? :? 異或镇草。只有當(dāng)兩個操作數(shù)不同時,才返回 true

邏輯運算符 程序 及 運行結(jié)果:

public class 邏輯運算符

{

??? public static void main(String[] args)

??? {

??????? boolean bn = true && true;

?? ? ?? System.out.println("bn的值是:" + bn);

?? ? ?? int a = 6;

? ? ? ? boolean bo = (a++ >= 7) && (5 <= 20);

?? ? ?? System.out.println("bo的值是:" + bo);

?? ? ?? boolean ba = (a++ >= 7) || (5 <= 3);

?? ? ?? System.out.println("ba的值是:" + ba);

?? ? ?? System.out.println("a的值是:" + a);

??????? int c = 10;

?? ? ?? boolean bea = (5 <= 1) & (c++ > 2);//與運算:只要一個數(shù)是false瘤旨,應(yīng)該直接就返回false

? ? ? ? System.out.println("bea的值是" + bea);//&& 只要前一個操作數(shù)是false梯啤,根本不會去計算后一個操作數(shù),直接返回false

??????? System.out.println("c的值是" + c);//但 & 無論前一個操作數(shù)是什么存哲,依然去計算后一個操作數(shù)

??????? int d = 5;

?? ? ?? boolean boo = (5 <= 20) | (d++ > 100);//或運算:只要一個數(shù)是true因宇,應(yīng)該直接就返回true

? ? ? ? System.out.println("boo的值是" + boo);//|| 只要前一個操作數(shù)是true,根本不會去計算后一個操作數(shù),直接返回true

??????? System.out.println("d的值是" + d);//但 | 無論前一個操作數(shù)是什么祟偷,依然去計算后一個操作數(shù)

?? ? ?? System.out.println(true ^ false);

?? ? ?? System.out.println(true ^ true);

?? ? ?? System.out.println(false ^ false);

?? ? ?? System.out.println(false ^ true);

??? }

}


邏輯運算符

6.三目運算符

邏輯表達(dá)式察滑? 表達(dá)式1 : 表達(dá)式2

如果邏輯表達(dá)式返回true,整個表達(dá)式為表達(dá)式1的值

同理為2

三目運算符 程序 及 運行結(jié)果:

public class 三目運算符

{

??? public static void main(String[] args)

??? {

??????? int a = 100;

??????? a = (a *= 2) >= 200 ? a++ : a--;//這里有自加的陷阱修肠,要注意:爻健!!

?? ? ?? System.out.println("" + a);

??? }

}


三目運算符

7.不同運算符有它們各自的優(yōu)先級

盡量使用括號來控制優(yōu)先級饲化!

()的優(yōu)先級非常高


運算符優(yōu)先級表


幫記口訣:單目乘除為關(guān)系莽鸭,邏輯三目后賦值。

單目:單目運算符+ –(負(fù)數(shù)) ++ -- 等

乘除:算數(shù)單目運算符* / % + -

為:位移單目運算符<< >>

關(guān)系:關(guān)系單目運算符> < >= <= == !=

邏輯:邏輯單目運算符&& || & | ^

三目:三目單目運算符A > B ? X : Y

后:無意義吃靠,僅僅為了湊字?jǐn)?shù)

賦值:賦值=


以上


寫在最后:

可以收藏方便以后查看哦蒋川!

如果你也是剛?cè)腴T,強(qiáng)烈建議照著本文把代碼自己敲一遍看看結(jié)果撩笆!

總結(jié)回顧一下之前所學(xué)習(xí)的內(nèi)容:


以下純屬瞎比比,各位可以忽略

昨晚上九點多去了公司的健身房缸浦,四個角落放了四個風(fēng)扇什么鬼啊夕冲,不過也還好,畢竟免費A阎稹4跤恪!練完了回去時結(jié)果西二旗地鐵站竟然沒有一個單車卜高,就看到一個還是壞的弥姻,走回去就11點多了……

從去年9月份開始在學(xué)校附近辦了健身卡,在我的帶動下還有三個小伙伴和我一起辦了掺涛,結(jié)果兩個早已不見人影庭敦,一個去走專業(yè)的道路了,而我算是兩者之間吧薪缆,一直陸陸續(xù)續(xù)(最多將近三周沒去秧廉,比如從面試一直到來到北京租房期間)堅持到了現(xiàn)在,怎么說那拣帽,雖然體重沒有太大變化(本意是減肥疼电,結(jié)果一入健身深似海),但是身體感覺發(fā)生了很大的變化(好吧减拭,只有我自己能感覺到)蔽豺,不過絲毫不影響我對健身的喜愛。加油吧騷年拧粪,非常喜歡一句話:文明其精神修陡,野蠻其體魄!


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末既们,一起剝皮案震驚了整個濱河市濒析,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌啥纸,老刑警劉巖号杏,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡盾致,警方通過查閱死者的電腦和手機(jī)主经,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來庭惜,“玉大人罩驻,你說我怎么就攤上這事』ど蓿” “怎么了惠遏?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長骏啰。 經(jīng)常有香客問我节吮,道長,這世上最難降的妖魔是什么判耕? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任透绩,我火速辦了婚禮,結(jié)果婚禮上壁熄,老公的妹妹穿的比我還像新娘帚豪。我一直安慰自己,他們只是感情好草丧,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布狸臣。 她就那樣靜靜地躺著,像睡著了一般方仿。 火紅的嫁衣襯著肌膚如雪固棚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天仙蚜,我揣著相機(jī)與錄音此洲,去河邊找鬼。 笑死委粉,一個胖子當(dāng)著我的面吹牛呜师,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贾节,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼汁汗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了栗涂?” 一聲冷哼從身側(cè)響起知牌,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎斤程,沒想到半個月后角寸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年扁藕,在試婚紗的時候發(fā)現(xiàn)自己被綠了沮峡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡亿柑,死狀恐怖邢疙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情望薄,我是刑警寧澤疟游,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站痕支,受9級特大地震影響金度,放射性物質(zhì)發(fā)生泄漏许起。R本人自食惡果不足惜允懂,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一旁振、第九天 我趴在偏房一處隱蔽的房頂上張望娇妓。 院中可真熱鬧斥难,春花似錦烤镐、人聲如沸阅酪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至津辩,卻和暖如春拆撼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背喘沿。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工闸度, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蚜印。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓莺禁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親窄赋。 傳聞我的和親對象是個殘疾皇子哟冬,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

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

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法忆绰,內(nèi)部類的語法浩峡,繼承相關(guān)的語法,異常的語法错敢,線程的語...
    子非魚_t_閱讀 31,603評論 18 399
  • 【程序1】 題目:古典問題:有一對兔子翰灾,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔...
    葉總韓閱讀 5,129評論 0 41
  • Java經(jīng)典問題算法大全 /*【程序1】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子预侯,小兔子...
    趙宇_阿特奇閱讀 1,852評論 0 2
  • 7. Java運算符 ??轉(zhuǎn)載請保留原文鏈接:http://dashidan.com/article/java/ba...
    ef6a1aa99b35閱讀 369評論 0 0
  • 訂閱了李笑來老師專欄大半年了致开,可以說我是最早上車的人,不過慚愧的是中途掉隊了幾次萎馅。 總的來說双戳,我在專欄里收獲最大的...
    HahnPRO閱讀 385評論 0 1