7. Java運(yùn)算符

7. Java運(yùn)算符

??轉(zhuǎn)載請(qǐng)保留原文鏈接:?http://dashidan.com/article/java/basic/Java運(yùn)算符.html

Java運(yùn)算符分為, 算術(shù)運(yùn)算符, 符合運(yùn)算符, 關(guān)系運(yùn)算符, 三目運(yùn)算符.

① Java算數(shù)運(yùn)算符

Java算數(shù)運(yùn)算符: 加, 減, 乘, 除(取模, 取余), 算數(shù)運(yùn)算符從右往左賦值.即將等號(hào)右邊的值,賦給等號(hào)左邊的變量.

加+

inta=1;intb=2;intc=a+b;System.out.println(c);

減-

inta=1;intb=2;intc=a-b;System.out.println(c);

乘*

inta=1;intb=2;intc=a*b;System.out.println(c);

除-取模/

對(duì)整數(shù)取模運(yùn)算,相當(dāng)于取結(jié)果的整數(shù),去掉余數(shù).

inta=1;intb=2;intc=a/b;System.out.println(c);

除-取余%

對(duì)整數(shù)取余運(yùn)算,相當(dāng)于取結(jié)果的余數(shù).

inta=1;intb=2;intc=a%b;System.out.println(c);

當(dāng)兩個(gè)類型不同的數(shù)據(jù)類型運(yùn)算時(shí),結(jié)果自動(dòng)轉(zhuǎn)化為取值范圍大的數(shù)據(jù).

具體規(guī)則:

byte->short->int->long->float->double

布爾型和其它基本數(shù)據(jù)類型之間不能相互轉(zhuǎn)換.

byte型可以轉(zhuǎn)換為short鹃栽、int躏率、、long民鼓、float和double.

short可轉(zhuǎn)換為int薇芝、long、float和double.

char可轉(zhuǎn)換為int丰嘉、long夯到、float和double.

int可轉(zhuǎn)換為long、float和double.

long可轉(zhuǎn)換為float和double.

float可轉(zhuǎn)換為double.

示例代碼:

packagecom.dashidan.lesson6;/*** 大屎蛋教程網(wǎng)-dashidan.com*

* Java教程基礎(chǔ)篇: 6. Java運(yùn)算符* Java算數(shù)運(yùn)算符*/publicclassDemo1{publicstaticvoidmain(String[]args){/** 加`+`*/inta=1;intb=2;intc=a+b;System.out.println(c);/** 減`-`*/a=1;b=2;c=a-b;System.out.println(c);/** 乘`*` */a=1;b=2;c=a*b;System.out.println(c);/** 除-取模`/`對(duì)整數(shù)取模運(yùn)算,相當(dāng)于取結(jié)果的整數(shù),去掉余數(shù).*/a=1;b=2;c=a/b;System.out.println(c);/** 除-取余`%`對(duì)整數(shù)取余運(yùn)算,相當(dāng)于取結(jié)果的余數(shù).*/a=1;b=2;c=a%b;System.out.println(c);}}

輸出:

3-1201

② Java復(fù)合運(yùn)算符

復(fù)合運(yùn)算符是一種簡(jiǎn)寫. 以+=為例,表示加一個(gè)值再賦值給本身.常用的復(fù)合運(yùn)算符:

+=加法賦值

a+=1;// 等同于以下a=a+1;

-=減法賦值

b-=1;// 等同于以下b=b-1;

*=乘法賦值

c*=1;// 等同于以下c=c*1;

/=除法賦值

d/=1;// 等同于以下d=d/1;

%=模運(yùn)算賦值

e%=1;// 等同于以下e=e%1;

示例代碼:

packagecom.dashidan.lesson6;/*** 大屎蛋教程網(wǎng)-dashidan.com*

* Java教程基礎(chǔ)篇: 6. Java運(yùn)算符* Java復(fù)合運(yùn)算符*/publicclassDemo2{publicstaticvoidmain(String[]args){inta=0;/** += 運(yùn)算*/a+=1;System.out.println(a);/** -= 運(yùn)算*/intb=0;b-=1;System.out.println(b);/** *= 運(yùn)算*/intc=2;c*=3;System.out.println(c);/** /= 運(yùn)算*/intd=5;d/=3;System.out.println(d);/** %= 運(yùn)算*/inte=5;e%=3;System.out.println(e);}}

輸出:

1-1612

③ Java自增,自減運(yùn)算符

分前綴式(如++i)和后綴式(如i++). 以自增運(yùn)算符(++)為例: 前綴式是先加1再使用,后綴式是先使用再加1. 單獨(dú)執(zhí)行自增自減時(shí)前綴式,后綴式單獨(dú)執(zhí)行結(jié)果一樣.道理同自增運(yùn)算符,只是加1,變成了減1.

inti=0;i++;System.out.println(i);intj=0;++j;System.out.println(j);

放在運(yùn)算過(guò)程中執(zhí)行. 前綴,后綴放在運(yùn)算過(guò)程中結(jié)果不同.

/** 后綴式*//** 初始化a和i*/a=0;i=0;a=i++;/** i使用前是0,此時(shí)i為0不加1,a為0. */System.out.println(a);/** 使用后i加1,i為1*/System.out.println(i);

示例代碼:

packagecom.dashidan.lesson6;/*** 大屎蛋教程網(wǎng)-dashidan.com*

* Java教程基礎(chǔ)篇: 6. Java運(yùn)算符* Java自增,自減運(yùn)算符*/publicclassDemo3{publicstaticvoidmain(String[]args){/** 前綴,后綴單獨(dú)執(zhí)行結(jié)果一樣*/inti=0;i++;System.out.println(i);intj=0;++j;System.out.println(j);/** 前綴,后綴放在運(yùn)算過(guò)程中結(jié)果不同*//** 前綴式*/inta=0;i=0;a=++i;/** i使用前是0,此時(shí)i為0不加1,a為0. */System.out.println(a);/** 使用后i加1,i為1*/System.out.println(i);/** 后綴式*//** 初始化a和i*/a=0;i=0;a=i++;/** i使用前是0,此時(shí)i為0不加1,a為0. */System.out.println(a);/** 使用后i加1,i為1*/System.out.println(i);}}

輸出:

111101

倒數(shù)第二個(gè)輸出是`0`,這個(gè)就是后綴式的使用后計(jì)算導(dǎo)致的結(jié)果.

④ Java關(guān)系運(yùn)算符

關(guān)系運(yùn)算符用于比較兩個(gè)數(shù)值之間的大小. 其運(yùn)算結(jié)果為一個(gè)布爾值(boolean),只有true(真)和false(假)兩個(gè)取值.

基本數(shù)據(jù)類型的關(guān)系運(yùn)算符:

>大于

<小于

>=大于或等于

<=小于或等于

==等于

!=不等于

示例代碼:

packagecom.dashidan.lesson6;/*** 大屎蛋教程網(wǎng)-dashidan.com*

* Java教程基礎(chǔ)篇: 6. Java運(yùn)算符* Java關(guān)系運(yùn)算符*/publicclassDemo4{publicstaticvoidmain(String[]args){inta=0;intb=0;booleanc=a>b;System.out.println(c);booleand=a

輸出:

falsefalsetruetrue

⑤ Java邏輯運(yùn)算符

邏輯運(yùn)算符主要用于進(jìn)行條件真(true)假(false)運(yùn)算.包括&&(且), ||(或),!(異或) , ^(非), instanceof(判斷對(duì)象實(shí)例類型).

&&邏輯與

兩目運(yùn)算符,需要2個(gè)值參與運(yùn)算. 符號(hào)兩邊的條件都為true,運(yùn)算結(jié)果為true.如果任一條件為false,結(jié)果為false.

booleana=true;booleanb=false;booleanc=a&&b;// a和b里不同時(shí)為true,故`&&`運(yùn)算的結(jié)果為false System.out.println(c);

||邏輯或

兩目運(yùn)算符,需要2個(gè)值參與運(yùn)算. 符號(hào)兩邊的條如果任一條件為true,結(jié)果為true.如果都為false,結(jié)果為false.

booleana=true;booleanb=false;booleanc=a||b;// a和b里面,a為true,故`||`運(yùn)算的結(jié)果為true System.out.println(c);

!邏輯非

單目運(yùn)算符,需要1個(gè)值參與運(yùn)算.得到與原布爾值相反的值. 原值為true,經(jīng)過(guò)!運(yùn)算,得false. 原值為false,經(jīng)過(guò)!運(yùn)算,得true.

booleana=true;booleanc=!a;// c為 a的相反值,即為true System.out.println(c);

^邏輯異或

兩目運(yùn)算符,需要2個(gè)值參與運(yùn)算. 符號(hào)兩邊的布爾結(jié)果不同時(shí),結(jié)果為true.如果相同(同時(shí)為true,或者同時(shí)為false),結(jié)果為false.

booleana=true;booleanb=false;booleanc=false;booleand=a^b;booleane=b^c;// a和b里不同,故`^`運(yùn)算的結(jié)果為false,d為false System.out.println(d);// c和d里同時(shí)為false,故`^`運(yùn)算的結(jié)果為true,e為true System.out.println(e);

示例代碼:

packagecom.dashidan.lesson6;/*** 大屎蛋教程網(wǎng)-dashidan.com*

* Java教程基礎(chǔ)篇: 6. Java運(yùn)算符* Java邏輯運(yùn)算符*/publicclassDemo5{publicstaticvoidmain(String[]args){booleana=true;booleanb=false;booleanc=a&&b;/** a和b里不同時(shí)為true,故`&&`運(yùn)算的結(jié)果為false*/System.out.println(c);a=true;b=false;c=a||b;/** a和b里面,a為true,故`||`運(yùn)算的結(jié)果為true*/System.out.println(c);a=true;c=!a;/** c為 a的相反值,即為true*/System.out.println(c);a=true;b=false;c=false;booleand=a^b;booleane=b^c;/** a和b里不同,故`^`運(yùn)算的結(jié)果為false,d為false*/System.out.println(d);/** c和d里同時(shí)為false,故`^`運(yùn)算的結(jié)果為true,e為true*/System.out.println(e);}}

輸出:

falsetruefalsetruefalse

⑥ Java三目運(yùn)算符

也叫條件運(yùn)算符. 由兩個(gè)符號(hào)組成?和:,要求有3個(gè)操作對(duì)象,所以也叫三目運(yùn)算符.

a

如果?前邊的表達(dá)式(a

示例代碼:

packagecom.dashidan.lesson6;/*** 大屎蛋教程網(wǎng)-dashidan.com*

* Java教程基礎(chǔ)篇: 6. Java運(yùn)算符* Java三目運(yùn)算符*/publicclassDemo6{publicstaticvoidmain(String[]args){inta=1;intb=2;intc=a>b?a:b;/** a > b 為false,所以取":"后邊的值b賦值給c, 故c為2.*/System.out.println(c);}}

輸出:

2

⑦ Java運(yùn)算符優(yōu)先級(jí)

基本的原則是有括號(hào)先算括號(hào)里的,然后先乘除后加減. 乘除都有時(shí),從左往右依次計(jì)算. 加減從左往右依次計(jì)算. 加法和乘法結(jié)合, 示例代碼:

inta=1;intb=2;intc=3;intd=a+b*c;/** 乘號(hào)的優(yōu)先級(jí)比加號(hào)高, 先算b*c再加a,故d為7*/System.out.println(d);

加減乘除混合, 示例代碼:

packagecom.dashidan.lesson6;/*** 大屎蛋教程網(wǎng)-dashidan.com*

* Java教程基礎(chǔ)篇: 6. Java運(yùn)算符* Java運(yùn)算符優(yōu)先級(jí)*/publicclassDemo7{publicstaticvoidmain(String[]args){inta=1;intb=2;intc=3;intd=a+b*c;/** 乘號(hào)的優(yōu)先級(jí)比加號(hào)高, 先算b*c再加a,故d為7*/System.out.println(d);/** 加減乘除混合*/a=1;b=2;c=3;d=4;d=a+b*c/d-5;/** 乘號(hào)和除號(hào)的優(yōu)先級(jí)比加號(hào)高, 先算乘除, 從左往右, b*c得6,d(值為4),`6/4`得`1.5`.取模運(yùn)算省去小數(shù),`b*c/d`得1*//** 加減法從左往右計(jì)算,a+1-5得-3,賦值給d.故d為-3.*/System.out.println(d);}}

輸出:

7-3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末饮亏,一起剝皮案震驚了整個(gè)濱河市耍贾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌路幸,老刑警劉巖荐开,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異劝赔,居然都是意外死亡誓焦,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門着帽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)杂伟,“玉大人,你說(shuō)我怎么就攤上這事仍翰『罩啵” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵予借,是天一觀的道長(zhǎng)越平。 經(jīng)常有香客問(wèn)我频蛔,道長(zhǎng),這世上最難降的妖魔是什么秦叛? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任晦溪,我火速辦了婚禮,結(jié)果婚禮上挣跋,老公的妹妹穿的比我還像新娘三圆。我一直安慰自己,他們只是感情好避咆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布舟肉。 她就那樣靜靜地躺著,像睡著了一般查库。 火紅的嫁衣襯著肌膚如雪路媚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天樊销,我揣著相機(jī)與錄音整慎,去河邊找鬼。 笑死现柠,一個(gè)胖子當(dāng)著我的面吹牛院领,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播够吩,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼丈氓!你這毒婦竟也來(lái)了周循?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤万俗,失蹤者是張志新(化名)和其女友劉穎湾笛,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體闰歪,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嚎研,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了库倘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片临扮。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖教翩,靈堂內(nèi)的尸體忽然破棺而出杆勇,到底是詐尸還是另有隱情,我是刑警寧澤饱亿,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布蚜退,位于F島的核電站闰靴,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏钻注。R本人自食惡果不足惜蚂且,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望幅恋。 院中可真熱鬧杏死,春花似錦、人聲如沸佳遣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)钾军。三九已至嘲驾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間诵盼,已是汗流浹背惠豺。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留风宁,地道東北人洁墙。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像戒财,于是被迫代替她去往敵國(guó)和親热监。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

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