運算符是一種告訴編譯器執(zhí)行特定的數(shù)學或邏輯操作的符號。C# 有豐富的內(nèi)置運算符,分類如下:
- 賦值運算符
- 算術運算符
- 復合算術運算符
- 關系運算符
- 邏輯運算符
- 位運算符
- 其他運算符
本節(jié)我們將對上述賦值運算符、算術運算符和復合算術運算符進行講解。
賦值運算符號
賦值運算符可以說是程序中最重要,但同時也是最基礎的運算符。
- 符號是
= - 功能是:將符號右邊的值或者結(jié)果等賦值給符號左邊的變量
- 要求:左邊必須是變量
實例演示:
int a;
int b;
//將等號右邊的10賦值給左邊的變量a,
a = 10;
b = 20;
//將等號右邊的運算結(jié)果30賦值給左邊的變量a,
a = 10+20;
//將等號右邊的運算結(jié)果30賦值給左邊的變量a,
a = 10 + b;
//先獲取a的值為30
//將等號右邊的運算結(jié)果40再賦值給左邊的變量a,
//a最終的結(jié)果為40
a = a + 10;
//先獲取a的值為40
//再獲取b的值為20
//將等號右邊的運算結(jié)果60再賦值給左邊的變量a,
//a最終的結(jié)果為60
a = a + b;
算術運算符
算術運算符對數(shù)據(jù)進行算術運算, 運算符有:+、-、*、/、%、++、--
加法運算(+)
加法運算,將兩個項進行相加;項可以是常量、變量以及運算結(jié)果, 如下演示:
int a = 10, b = 20;
int c = 10+20; //兩個常量相加
c = a + 10; //常量與變量相加
c = a + b; //變量與變量相加
減法運算(-)
減法運算,將兩個項進行相減;項可以是常量、變量以及運算結(jié)果, 如下演示:
int a = 10, b = 20;
int c = 10-20; //兩個常量相減
c = a - 10; //常量與變量相減
c = a - b; //變量與變量相減
乘法運算(*)
乘法運算,將兩個項進行相乘;程序中乘法的符號是星號(*), 與數(shù)學中的乘法符號??不一樣,需要引起注意。項可以是常量、變量以及運算結(jié)果, 如下演示:
int a = 10, b = 20;
int c = 10*20; //兩個常量相乘 結(jié)果為200
c = a * 10; //常量與變量相乘 結(jié)果為100
c = a * b; //變量與變量相乘 結(jié)果為200
除法運算(/)
除法運算,將兩個項進行相除;程序中除法的符號是斜杠(/), 與數(shù)學中的乘法符號?不一樣,需要引起注意。項可以是常量、變量以及運算結(jié)果, 如下演示:
float a = 10, b = 20;
float c = 10.0/20.0; //兩個常量相除 結(jié)果為0.5
c = a / 10; //常量與變量相除 結(jié)果為1.0
c = a / b; //變量與變量相除 結(jié)果為1.0
c = 10/20 //變量與變量相除 結(jié)果為0.0
注意:我看到上面實例中最后一個,結(jié)果可能和我們預期的0.5不一樣。這是因為對于除法, 如果兩邊都為整數(shù)時,結(jié)果為取整
取余運算(%)
取余數(shù)運算, 求前一個項相對于后一項的余數(shù)。需要引起注意,取余數(shù)運算的兩邊都必須為整數(shù), 只有整數(shù)才有余數(shù)。實例如下:
int a = 10, b = 20;
int c = 10%20; //兩個常量相除 結(jié)果為10
c = a % 10; //常量與變量相除 結(jié)果為0
c = a % b; //變量與變量相除 結(jié)果為10
c = 31 % 20; //變量與變量相除 結(jié)果為11
自增/自減(++、--)
自增/自減運算是單目運算,即只對一項進行運算,被運算的項必須是變量, 變量可以在符號的前面, 也可以在符號的后面。運算方式是對變量進行+1/-1操作,實例如下:
//自增
int a = 10;
a++; //對a做+1操作, 結(jié)果a為11
a = 10;
++a; //對a做+1操作, 結(jié)果a為11
//自減
int a = 10;
a--; //對a做-1操作, 結(jié)果a為9
a = 10;
--a; //對a做-1操作, 結(jié)果a為9
注意:當自增/自減單獨存在時, 變量在前和在后效果是一樣對。但是,如果自增/自減是在運算中, 則在前和在后是不一樣對, 下面是對應實例:
//////////////////////////////////自增
int a = 10;
int c = 10 + (a++);
//最后c的值為20, a的值為11
//c = 10 + (a++); 等價于 c = 10 + a; a++;
a = 10;
c = 10+(++a);
//最后c的值為21, a的值為11
//c = 10 + (a++); 等價于 a++; c = 10 + a;
//////////////////////////////////自減
a = 10;
c = 10 + (a--);
//最后c的值為20, a的值為9
//c = 10 + (a++); 等價于 c = 10 + a; a--;
a = 10;
c = 10+(--a);
//最后c的值為19, a的值為9
//c = 10 + (a++); 等價于 a--; c = 10 + a;
注意:通過上面實例我們可以看出, 當自增/自減參與運算時,如果變量在符號前,則先讓變量參與運算,然后變量在自增/自減;如果變量在符號后, 則先讓變量自增/自減, 然后在讓變量參與運算
復合算術運算符
復合算術運算符是特殊的算術運算, 算是算術運算的一種簡化版本,復合算術運算符有:+=、-=、*=、/=、%=;
運算法則與算術運算法則相同, 實際使用如下:
int a = 10, b = 20;
a += 10; //最后a的值為20, 等價于 a = a + 10;
a -= 10; //最后a的值為10, 等價于 a = a - 10;
b *= 10; //最后b的值為200, 等價于 b = b * 10;
b /= 10; //最后b的值為20, 等價于 b = b / 10;
a %= 8; //最后a的值為2, 等價于 a = a % 8;
歡迎大家踴躍評論,讓我們一起探討技術??!
如果覺得文章不錯,請幫忙點擊文章下方的喜歡?。?br>
你的支持將是對我最好的鼓勵, 謝謝?。?!