运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C#有丰富的内置运算符,分类如下:
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 其他运算符
算术运算符
下表展示C#所支持的算术运算符,假设变量A的值为10,变量B的值为20,则:
注意:++a是先对a的值进行自增运算,然后再赋值给变量;
关系运算符
下表显示了C#支持的所有关系运算符,假设变量A的值为10,变量B的值为20,则:
逻辑运算符
下表显示了C#支持的所有逻辑运算符,假设变量A为true,变量B为布尔的false,则:
位运算符
位运算符作用于位,并逐位执行操作。&、|和^的真值表如下所示:
假如A等于60,且B=13,现在以二进制格式表示,他们如下所示:
A=0011 1100
B=0000 1101
-------------------
A&B=0000 1100 //与运算,11为1,其余为0
A|B=0011 1101 //或运算,00为0,其余为1
A^B=0011 0001 //异或运算,相同为0,不同为1
~A=1100 0011 //取反
下表勒出了C#支持的位运算符,假设变量A的值为60,变量B的值为13,则:
赋值运算符
其他运算符
下表列出了C#支持的其他一些重要的运算符,包括sizeof,typeof,和?:。
C#中运算符优先级
笔记:
其中&,|的运算结果与&&,||完全相同,但&&和||的性能更好。因为&&和||都是检查第一个操作数的值,如果已经能判断结果,就根本不处理第二个操作数
C#的判断 ##
1、if-else 组合
if("条件表达式")
{
}else if("条件表达式"){
}
else
{
}
2、switch
demo:
static void Main(string[] args)
{
Console.WriteLine("请输入您的成绩等级:");
char grade =Convert.ToChar(Console.ReadLine());
switch(grade)//switch后面的表达式必须为整型或者枚举类型,或是一个class类型,其中class有一个单一的转换函数将其转换为整形或枚举类型
{
case 'A'://case后面的表达式必须与switch中的变量具有相同的数据类型,且必须为常量
Console.WriteLine("you are so great!");
break;
case 'B':
case 'C':
Console.WriteLine("do well");
break;
case 'D'://在下一个case语句之前必须有break
Console.WriteLine("try again");
break;
default:
Console.WriteLine("this gread is invalid");
break;
}
Console.WriteLine("您的成绩为:{0}", grade);
Console.ReadKey();
}
3、嵌套switch