初学C#之运算符和关系表达式

㈠运算符和关系表达式

一元运算符++、-- 前加和后加区别,事例++在后如下:

int age = 18;
int sum = age++ - 10;
//结果age=19 说明age++在表达式中age的值也+1.结果sum=8,原因age++,++在后用age的原值进行计算
Console.WriteLine("sum = {0} ,age = {1}", sum, age);

事例++在前如下:

int age = 18;
int sum = ++age - 10;
//结果age=19 说明不管++在前还是在后对age本身的值没有影响.
//结果sum=9,原因++age,++在前用++age的值进行计算
Console.WriteLine("sum = {0} ,age = {1}", sum, age);
int var1, var2 = 5, var3 = 6;
var1 = var2++ * --var3; //结果分别是:var1 = 5*5,var2 = 6,var3 = 5
Console.WriteLine("var1 = {0} ,var2 = {1} var3 = {2}", var1, var2,var3)

上面的var1、var2、var3的值说明++或--的运算优先级要高于乘法运算。

上面的age、sum代码说明:参与运算的++age和age++ ,age变量的值都发生了+1的变化。++age在前用age的新值进行运算,++在后用age的原值进行运算。--在前在后同++原理一样。

㈡关系运算符

有6中 >、<、==、!=、>=、<=

规则

  • 关系表达式,就是由关系运算符连接起来的式子。关系表达式的结果是bool类型
  • 关系运算符两边的类型要相同,数值型 或字符串,布尔型。其中字符串型只能比较 ==或 != 不能比较大小。

关系运算符的优先级

>、<、>=、<= 大于 == !=

㈢逻辑运算符

表达式1 && 表达式2 → 表达式1和表达式2一般也是bool类型,所以逻辑表达式的结果也是bool类型。

&&→ And →并且

|| → Or →或者

!→ 取反

优先级

!>关系运算符 > && >||

注意:&&和|| 表达式1为True时,表达式2将不执行。测试事例:

int a = 10, b = 5;
bool result = ++a > 20 && ++b > 10;
//结果a=11 ,b=5 .将如表达式1为False那么表达式2就不执行了
Console.WriteLine("result = {2} ,a = {0} ,b = {1}", a, b,result);