Java學(xué)習(xí)筆記(1)第五節(jié)--運(yùn)算符

1.運(yùn)算符:進(jìn)行特定操作的符號(hào)。

? ? 表達(dá)式:用運(yùn)算符連起來(lái)的式子叫做表達(dá)式。


2.具體類型

2.1加減乘除? ? 取模

public class DemoPerator {

public static void main(String[] args) {

//加:

? ? ? ? System.out.println(20 +30);? //兩個(gè)常量可以進(jìn)行運(yùn)算

//減:

? ? ? ? int num1 =10;

? ? ? ? int num2 =20;

? ? ? ? System.out.println(num1 - num2);? //兩個(gè)變量也可以進(jìn)行運(yùn)算

//乘:

? ? ? ? int num3 =10;

? ? ? ? System.out.println(num3 *10);? ? //變量和常量也可以混合運(yùn)算非驮。

//除:

? ? ? ? int num4 =10;

? ? ? ? int numchu =3;

? ? ? ? int result1 = (num4 / numchu);

? ? ? ? System.out.println(result1);? ? //對(duì)于整數(shù)表達(dá)式武翎,除法 / 用的是整除啦粹,只保留商,不保留余數(shù)檐春。

? ? ? ? int result2 = (num4 % numchu);

? ? ? ? System.out.println(result2);? ? //求余數(shù)用 %(取模運(yùn)算符) 計(jì)算。

? ? ? ? System.out.println("================");

? ? ? ? double result3 = num4 +2.5;? ? //int + double-->double + double -->double

? ? ? ? System.out.println(result3);? ? ? //結(jié)果為12.5

? ? }

}

運(yùn)行結(jié)果

2.3.“+” 的用法

1.對(duì)于數(shù)值來(lái)說(shuō)就是加法么伯。

2.對(duì)于char來(lái)說(shuō)就是轉(zhuǎn)換成int進(jìn)行計(jì)算疟暖。

3.對(duì)于字符串String(首字母大寫)來(lái)說(shuō),加號(hào)“+”代表字符串連接田柔。

4.任何數(shù)據(jù)類型和String相連都是轉(zhuǎn)換成String類型俐巴。

public class DemoStr {

public static void main(String[] args) {

String s1 ="Hello ";

? ? ? ? String s2 ="World";

? ? ? ? String result1 = s1 + s2;

? ? ? ? System.out.println("Hello "+"Java");

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

? ? ? ? System.out.println("============");

? ? ? ? System.out.println(result1+100);

? ? ? ? System.out.println(result1+5.20);

? ? ? ? System.out.println(result1+'A');

? ? ? ? System.out.println(result1+true);

? ? }

}

運(yùn)行結(jié)果演示

TIP:優(yōu)先級(jí):小括號(hào)優(yōu)先!



2.4.自增運(yùn)算符硬爆,自減運(yùn)算符欣舵。

? ? 4.1基本含義:讓變量增加一個(gè)數(shù)字1,或者減少一個(gè)數(shù)字1摆屯;

? ? 4.2用法:1.單獨(dú)使用? ?:++num 和 num++沒(méi)有任何區(qū)別

? ? ? ? ? ? ? ? ? ? 2.混合使用? ? :

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? A:++num:馬上變量值+1邻遏,然后拿著結(jié)果進(jìn)行使用。? 【先加后用】

???????????????????????????????? ? ? ? ? ? ?B:num++:? ? 首先使用變量原本的數(shù)值虐骑,然后值再+1准验; 【先用后加】

示例:

public class DemoACnum {

public static void main(String[] args) {

int num =10;

? ? ? ? num++;

? ? ? ? System.out.println("第一次num++: "+num);

? ? ? ? ++num;

? ? ? ? System.out.println("第二次++num "+num);

? ? ? ? System.out.println("===============");

? ? ? ? //與打印操作混合

? ? ? ? int num1 =10;

? ? ? ? System.out.println(num1++);? ? //此時(shí)結(jié)果為10

? ? ? ? System.out.println(num1);? ? ? //再打印一次num1,此時(shí)結(jié)果為11

? ? ? ? System.out.println("===============");

? ? ? ? int num2 =20;

? ? ? ? System.out.println(++num2);? ? //此時(shí)結(jié)果為21

? ? ? ? System.out.println(num2);? ? ? //此時(shí)結(jié)果仍舊是21

? ? ? ? System.out.println("===============");

? ? ? ? int num3 =30;

? ? ? ? int result1 = --num3;

? ? ? ? System.out.println(result1);? ? //此時(shí)result1 = 29

? ? ? ? System.out.println(num3);? ? ? //此時(shí)num3也為29

? ? ? ? System.out.println("===============");

? ? ? ? int num4 =40;

? ? ? ? int result2 = num4--;

? ? ? ? System.out.println(result2);? ? //result2的值為40

? ? ? ? System.out.println(num4);? ? ? //num4的值減一,為39

? ? ? ? System.out.println("===============");

? ? ? ? //混合自增自減分析

? ? ? ? int x =10;

? ? ? ? int y =20;

? ? ? ? int result3 = ++x + y--;

? ? ? ? System.out.println(result3);? ? ? ? //result3:31

? ? ? ? System.out.println(x);? ? ? ? ? ? ? //x:11

? ? ? ? System.out.println(y);? ? ? ? ? ? ? //y:19

? ? }

}

運(yùn)行結(jié)果

TIP:常量不可以使用自增自減廷没。比如“”20++“”是錯(cuò)誤的糊饱!


2.5 賦值運(yùn)算符

? ? 2.5.1:基本賦值運(yùn)算符:“=” (只有一個(gè)等號(hào))。表示把右邊的值賦值給左邊

? ? 2.5.2:復(fù)合賦值運(yùn)算符:

? ??????????????????????+=: a+=3 ????相當(dāng)于a=a+3

????????????????????????-= : b-=4? ? ?相當(dāng)于b=b-4

????????????????????????*= : c*=5? ? ?相當(dāng)于c=c*5

????????????????????????/= : d/=6? ? ?相當(dāng)于d=d/6

? ? ? ? ? ? ? ? ? ? ? ?%=: e%=7? ?相當(dāng)于e=e%7

public class GiveData {

public static void main(String[] args) {

int a =7;

? ? ? ? a+=3;

? ? ? ? System.out.println(a);? //此時(shí)a=10颠黎;

? ? ? ? a-=4;

? ? ? ? System.out.println(a);? //此時(shí)a=6

? ? ? ? a*=5;

? ? ? ? System.out.println(a);? //此時(shí)a=30

? ? ? ? a/=6;

? ? ? ? System.out.println(a);? //此時(shí)a=5

? ? ? ? a%=7;

? ? ? ? System.out.println(a);? //此時(shí)a=5

? ? }

}

賦值運(yùn)算符j運(yùn)行結(jié)果

TIP:1.常量不能進(jìn)行賦值運(yùn)算另锋。

? ? ? ? 2.賦值運(yùn)算包含隱式類型轉(zhuǎn)換滞项。


2.6:比較運(yùn)算符

? ? 比較運(yùn)算符有六種:

? ? ? ? ==:比較符號(hào)兩邊數(shù)值是否相等,相等為true,否則為false夭坪。

? ? ? ? <:????比較符號(hào)左邊的數(shù)據(jù)是否小于右邊的數(shù)據(jù)文判,如果小于則為true,否則為false室梅。

? ? ? ? >:????比較符號(hào)左邊的數(shù)據(jù)是否大于右邊的數(shù)據(jù)戏仓,如果大于則為true,否則為false亡鼠。

? ? ? ? <=:????比較符號(hào)左邊的數(shù)據(jù)是否小于或者等于右邊的數(shù)據(jù)赏殃,如果小于則為true,否則為false间涵。

? ? ? ? >=:????比較符號(hào)左邊的數(shù)據(jù)是否大于或者等于右邊的數(shù)據(jù)仁热,如果大于則為true,否則為false勾哩。

? ? ? ? !=:????不等于符號(hào)抗蠢,如果等式兩邊不相等,結(jié)果是true,否則為false钳幅;

public class DemoCompare {?????

public static void main(String[] args) {

System.out.println(10>5);? ? ? //結(jié)果為true

? ? ? ? System.out.println(5>10);? ? ? //結(jié)果為false

? ? ? ? System.out.println("===============");

? ? ? ? int num1 =10;

? ? ? ? int num2 =20;

? ? ? ? System.out.println(num1

? ? ? ? System.out.println(num2

? ? ? ? System.out.println("===============");

? ? ? ? int num3 =30;

? ? ? ? System.out.println(num3>=100);? ? ? //結(jié)果為false

? ? ? ? System.out.println(num3<=100);? ? ? //結(jié)果為true

? ? ? ? System.out.println(num3<=30);? ? ? //結(jié)果為true

? ? ? ? System.out.println("===============");

? ? ? ? System.out.println(10==10);? ? ? ? //結(jié)果為true

? ? ? ? System.out.println(15!=20);? ? ? ? //結(jié)果為true

? ? ? ? System.out.println(20!=20);? ? ? ? //結(jié)果為false

? ? }

}

比較運(yùn)算符運(yùn)行結(jié)果

TIP:1.比較運(yùn)算符的結(jié)果一定是一個(gè)boolean值物蝙,成立就是true,不成立就是false。

? ? ? ? 2.不能連著寫敢艰,比如1<x<3(先判斷1<x為true诬乞,但是true<5就不能判斷了)。


2.7:邏輯運(yùn)算符

? ? ? ? 三種:與钠导、或震嫉、非。

? ? ? ? ? ? ? ? 與(并且):&&? ? ?全部都是true牡属,結(jié)果才是true票堵。否則就是false。

? ? ? ? ? ? ? ? 或(并且):||? ? ? ? 至少有一個(gè)true,結(jié)果就是true逮栅。全都是false,結(jié)果就是false悴势。

? ? ? ? ? ? ? ? 非(取反):!? ? ? ? 結(jié)果相反措伐。本來(lái)是true,加了特纤!就變成false.

public class DemoLuoji {

public static void main(String[] args) {

System.out.println(true&&true);? ? //結(jié)果為true

? ? ? ? System.out.println(true&&false);? ? //結(jié)果為false

? ? ? ? System.out.println("==============");

? ? ? ? System.out.println(true||true);? ? //結(jié)果為true

? ? ? ? System.out.println(true||false);? ? //結(jié)果為true

? ? ? ? System.out.println(false||false);? //結(jié)果為false

? ? ? ? System.out.println("==============");

? ? ? ? System.out.println(!true);? ? ? ? ? //結(jié)果為false

? ? ? ? System.out.println(!false);? ? ? ? //結(jié)果為true

? ? ? ? System.out.println("==============");

? ? ? ? int a =10;

? ? ? ? System.out.println(3>4&&++a<100);? //++a不執(zhí)行,因?yàn)榍鞍氩糠謋alse已經(jīng)結(jié)束

? ? ? ? System.out.println(a);? ? ? ? ? ? ? //a為10

? ? }

}

邏輯運(yùn)算符運(yùn)行結(jié)果

TIP:

? ? ? ? 1.邏輯運(yùn)算符只能用于boolean值侥加。

? ? ? ? 2.與捧存、或需要左右各有一個(gè)boolean值,但是非只需要有一個(gè)。

? ? ? ? 3.與昔穴、或如果有多種條件可以連續(xù)寫镰官,比如上一小節(jié)1<x<5.寫成 int x = 5; 1<x && x<5

? ? ? ? 4與、或具有短路效應(yīng)吗货,但左邊判斷值成立后泳唠,右邊不再執(zhí)行。


2.7:三目運(yùn)算符

? ? ? ? 2.7.1含義:需要三個(gè)數(shù)據(jù)才可以進(jìn)行操作的運(yùn)算符

? ? ? ? 2.7.2格式:? ? 變量名稱 = 條件判斷 >表達(dá)式A? :? 表達(dá)式B

? ? ? ? 2.7.2流程:1.首先判斷條件是否成立卿操。如果成立警检,將表達(dá)式A賦值給左邊的變量。如果不成立害淤,將表達(dá)式B賦值給左邊的變量。

public class DemoThreefu {

public static void main(String[] args) {

int num1 =10;

? ? ? ? int num2 =20;

? ? ? ? int max = num1 > num2 ? num1 : num2;

? ? ? ? System.out.println(max); //max結(jié)果為大的數(shù)字20

//特殊寫法

? ? ? ? System.out.println(num1 > num2 ? num1 : num2);

? ? }

}

三目運(yùn)算符運(yùn)行結(jié)果

TIP:

? ? ? ? 1.必須同時(shí)保證表達(dá)式A和表達(dá)式B都符合左側(cè)的變量數(shù)據(jù)類型

? ? ? ? 2.三目運(yùn)算符的結(jié)果必須被使用拓售。(如特殊寫法里的打印語(yǔ)句)窥摄,否則會(huì)報(bào)錯(cuò)。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末础淤,一起剝皮案震驚了整個(gè)濱河市崭放,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鸽凶,老刑警劉巖币砂,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異玻侥,居然都是意外死亡决摧,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門凑兰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)掌桩,“玉大人,你說(shuō)我怎么就攤上這事姑食〔ǖ海” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵音半,是天一觀的道長(zhǎng)则拷。 經(jīng)常有香客問(wèn)我,道長(zhǎng)曹鸠,這世上最難降的妖魔是什么煌茬? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮物延,結(jié)果婚禮上宣旱,老公的妹妹穿的比我還像新娘。我一直安慰自己叛薯,他們只是感情好浑吟,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布笙纤。 她就那樣靜靜地躺著,像睡著了一般组力。 火紅的嫁衣襯著肌膚如雪省容。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天燎字,我揣著相機(jī)與錄音腥椒,去河邊找鬼。 笑死候衍,一個(gè)胖子當(dāng)著我的面吹牛笼蛛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蛉鹿,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼滨砍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了妖异?” 一聲冷哼從身側(cè)響起惋戏,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎他膳,沒(méi)想到半個(gè)月后响逢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棕孙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年舔亭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片散罕。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡分歇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出欧漱,到底是詐尸還是另有隱情职抡,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布误甚,位于F島的核電站缚甩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏窑邦。R本人自食惡果不足惜擅威,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冈钦。 院中可真熱鬧郊丛,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至揍瑟,卻和暖如春白翻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绢片。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工滤馍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人底循。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓巢株,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親熙涤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子纯续,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

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