C#第三节(运算符)

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C#有丰富的内置运算符,分类如下:

  1. 算术运算符
  2. 关系运算符
  3. 逻辑运算符
  4. 位运算符
  5. 赋值运算符
  6. 其他运算符
    算术运算符
    下表展示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
这里写图片描述

static void Main(string[] args)
        {
            Console.WriteLine("select a integer from 100,200:");
            int a =Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("select another integer from 100,200:");
            int b= Convert.ToInt32(Console.ReadLine());
            switch(a)
            {
                case 100:
                    Console.WriteLine("第一个输入的值为100进入第二关");
                        switch(b)
                    {
                        case 100:
                            Console.WriteLine("第二关输入的值仍为100");
                            break;
                        case 200:
                            Console.WriteLine("第二关输入的值为200");
                            break;
                        default:
                            Console.WriteLine("第二关输入不正确,挑战失败");
                            break;
                    }
                    break;
                default:
                    Console.WriteLine("第一关挑战失败,无法继续游戏");
                    break;
            }
            Console.WriteLine("第一次输入的值为:" + a+ ",第二次输入的值为:" + b);
            Console.ReadKey();
}

条件运算符 ?:

C#循环

1、while循环:如果条件为假时,会跳出循环主题,直接执行紧跟着while循环的下一句。
2、for与foreach
这里写图片描述
demo:

static void Main(string[] args)
        {
            int[] inbarry = new int[] {11,4,5,9,66,8,59,78,5 };
            foreach(int i in inbarry)
            {
                Console.WriteLine("使用foreach遍历结果:"+i);
            }
            Console.WriteLine();
            for(int i=0;i<inbarry.Length;i++)
            {
                Console.WriteLine("使用for遍历结果:" + inbarry[i]);
            }
            Console.WriteLine();

            //设置集合中元素的计算器
            int count = 0;
            foreach(int i in inbarry)
            {
                Console.WriteLine("Element #{0}:{1}", count, i);
                count++;
            }
            Console.WriteLine("Number of elements in the array:{0}", count);
 }            

do—While循环
do—While至少确保执行一次
这里写图片描述

static void Main(string[] args)
        {
            int a = 66;
            do
            {
                Console.WriteLine("do while里面的a的值:{0}", a);
                a++;
            } while (a < 67);//注意此处有分号



            while(a<67)//此时的a已经变为了67所以已不再成立
            {
                Console.WriteLine("while里面的a的值:{0}", a);
                a++;
            }
            Console.ReadKey();
        }

循环嵌套
eg:使用循环嵌套寻找2到100中的质数

猜你喜欢

转载自blog.csdn.net/weixin_39885282/article/details/80170545