C#基础知识总结(三)

摘要

  关系表达式、逻辑表达式、分支结构的总结:if-else、if-else if-else、switch-case
一、关系运算符
  >,==,<…
  关系表达式的结果是bool类型,true或false

二、逻辑表达式
  1.逻辑表达式

    逻辑与:&&:逻辑与两边的表达式都为真,最后才为真
    逻辑或:||:逻辑或两边的表达式任意一个为真,最后为真
    非:!:相反的值

  2.练习:计算闰年
    由两个大条件组成:1).能被400整除  2).或者是:能被4整除但是不能被100整除

int year = 1824;
if((year % 400 ==0) || (year % 4 ==0 && year % 100 != 0 ))
{
    Console.WriteLine($"{year}是闰年");
}
else
{
    Console.WriteLine($"{year}不是闰年");
}

  3.与或的短路
    逻辑与&&:当第一个不成立的时候,不会再进行后面表达式的校验
    逻辑或||:当第一个成立的时候,不会再进行后面表达是的校验
    如:
    int a = 5;
    int b = 10;
    int result = ++a > 50 && ++b > 1;
    运算完成,a为6,b为10,因为&&左边表达式不成立,不会再运算右边的表达式

三、分支结构
  1.if-else语句
    if(条件1)
    {
      代码块1
    }
    else
    {
      代码块2
    }

    解释:如果条件1满足执行代码块1,不执行代码块2
      如果条件1不满足,跳过代码块1,只执行代码块2

  2.if-else if-else语句
    if(条件1)
    {
      语句块1
    }
    else if(条件2)
    {
      语句块2
    }
    else if(条件3)
    {
      语句块3
    }
    else
    {
      语句块4
    }

    语句块5

    执行逻辑:
      先判断条件1,如果条件1成立,执行语句块1,然后不执行后面的else if 及里面的语句块;如果条件1不成立,进入到下面的else if,判断条件2,如果条件2成立,执行语句块2,否则执行后面else if;前面所有的if都不成立才会去执行else中的语句块4。
      不管前面的条件如何,都回去执行语句块5。

  3.switch-case语句
    string level = "字符";
    switch(level)
    {
      case "qwr":
        //做操作
        break;
      case "字符":
        break;
      case "asd":
        break;
      …
      default:
        break;
    }

    用switch后面括号中的变量,与case中的值去匹配,如果匹配上就执行后面的代码,执行到break,后面的就不执行了;如果case后面的一个也没匹配上,就执行default后面的代码,执行到break结束。
    PS:break代表跳出此语句结构(switch-case)
    PS:default的位置和执行顺序没关系,如果default放到最前面,也是最后执行
    PS:如果不写break,会出现贯穿的情况,就是会继续去往后执行

  4.switch-case的case可以合写
    当变量等于某一个值,且需要执行相同的操作时,case可以共用
    如:
    switch(变量)
    {
      case "A":
      case "B":
        //To-do
        break;
      case "C":
      case "D":
      case "E":
        //To-do
        break;
      default:
        break;
    }

posted @ 2018-11-30 23:15  Liar。  阅读(340)  评论(0编辑  收藏  举报