• 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;
        }

  • 相关阅读:
    XCNA进阶测试20220330
    MobaXterm
    thinkpad
    华为NQA实验
    M1芯片 使用pod install 报错You may have encountered a bug in the Ruby interpreter or extension libraries. Bug reports are welcome. For details: https://www.rubylang.org/bugreport.html
    provider 跨组件状态管理
    2022年华北电力大学计算机系考研上岸同学初试经验...
    flaskrestful响应处理
    typeScript枚举
    Object.asign
  • 原文地址:https://www.cnblogs.com/yezongjie/p/20181130CSharpBasicThree.html
Copyright © 2020-2023  润新知