【回顾】C#从入门到精通第四章笔记
C#从入门到精通(第五版)第四章笔记

表达式与运算符
1.表达式的基本概念
表达式是由运算符和操作数组成的。+、-、*和/等都是运算符,操作数包括文本、常量、变量和表达式等。
2.算术运算符
+,-,*,/,和%运算符都被称为运算符,分别用于进行加、减、乘、除和取余数运算
2.1.加法运算符
加法运算符(+)通过两个数相加来执行标准的加法运算。
如果想对整数变量num进行加一操作,可以用“num=num+1”来实现。也可以使用增量运算符(++)实现。
例如:num++或者++num。(++num是前缀增量操作,num++是后缀增量操作,)
2.2.减法运算符
减法运算符(-)通过两个数相减来执行标准的减法运算。
如果想对整数变量num进行减一操作,可以用“num=num-1”来实现。也可以使用减量运算符(--)实现。
例如:num--或者--num。(--num是前缀减量操作,num--是后缀减量操作,)
2.3.乘法运算符
乘法运算符(*)通过两个数相乘来执行标准的乘法运算。
2.4.除法运算符
除法运算符(/)通过两个数相除来执行标准的除法运算。
2.5.取余运算符
取余运算符(%)返回除数和被除数相除的余数,来执行标准的取余运算。
在获取两个数相除的余数,也可以用Math类的DivRem()方法实现【Divrem就是Divide分割+remains余数】
比如:
result=num1%num2可以写成Math.DivRem(num1,num2,out result)。
3.赋值运算符
赋值运算符主要有:“=”,“+=”,“-=”,“*=”,“/=”,“%=”,“&=”,“/=”,“^=”,“<<=”,“>>=”。


4.关系运算符
关系运算符主要有:“>”,“<”,“==”,“>=”,“<=”,“!=”。

5.逻辑运算符
逻辑运算符主要有:非“!”,与“&&”,或“||”。
非 !:真变假,假变真
与 &&:全真才真
或 ||:全假才假
6.位运算符
6.1.“按位与”运算“&”
按位“与”运算符(&)比较两个整数的相应位。当两个整数的对应位都是1时,返回相应的结果位是1;当两个整数的相应位都是0或者其中一个位是0时,则返回相应的结果位是0。
6.2.“按位或”运算“|”
按位“或”运算符(|)用于比较两个整数的相应位。当两个整数的对应位有一个是1或都是1时,
返回相应的结果位是1。当两个整数的相应位都是0时,则返回相应的结果位是0。
6.3.“按位取反”运算“~”
按位“异或”运算符(^)比较两个整数的相应位。当两个整数的对应位一个是1而另外一个是0时,返回相应的结果位是1;当两个整数的相应位都是1或者都是0时,则返回相应的结果位是0。
6.4.“按位异或”运算“^”
布尔“异或”运算符(^)用于计算两个布尔表达式的结果,只有当其中一个表达式是真而另外一个表达式是假时,该表达式返回的结果才是真;当两个表达式的计算结果都是真或者都是假时,则返回的结果为假。
6.5.“左移”运算“<<”
6.4.“右移”运算“>>”
这两个是对数据按二进制位进行移位操作。
7.其他特殊运算符
7.1.is运算符
is 检查对象是否与指定类型兼容
比如:
int i=0;
if (i is int)
判断i是否是int型
7.2.条件运算符(相当于C语言三目运算符)
条件运算符(? :) 根据布尔表达式的值返回两个值中的一个
布尔表达式? value1:value2
等价于:
if(布尔表达式)
value1
else
value2
7.3.new运算符
new运算符用于创建一个新的类型实例,它有以下3种形式。
①.对象创建表达式,用于创建一个类类型或值类型的实例。
②.数组创建表达式,用于创建一个数组类型实例。
③.代表创建表达式,用于创建一个新的代表类型实例。
7.4.typeof运算符(跟C语言定义不一样!)
typeof运算符用于获得系统原型对象的类型,也就是Type对象。Type类包含关于值类型和引用类型的信息。typeof运算符可以在C#语言中各种位置使用,以找出关于引用类型和值类型的信息。
static void Main(string[] args)
{
Type mytype=typeof(int);//这里与c不一样,作用是一样的
Console.WriteLine(“类型:{0}",mytype);
Console.ReadLine();
}
8.运算符优先级

注意:当表达式中包含一个以上的运算符时,程序会根据运算符的优先级进行运算。
优先级高的运算符会比优先级低的运算符先被执行,在表达式中,可以通过括号()来调整运算符的运算顺序,
将想要优先运算的运算符放置在括号()中。当程序开始执行时,括号()内的运算符会被优先执行。
第四章完!

