选择逻辑-if

一路选择

  • if的语法规则:先执行if的逻辑运算。如果结果为true就执行if中的代码。如果结果为false就不执行if中的代码。
    if (逻辑运算)
    {
        // 代码
    }
    
    // 登录Demo
    string id = Console.ReadLine();
    string pwd = Console.ReadLine();
    // 验证密码
    if (id == "likang" && pwd == "shuaige")
    {
        Console.WriteLine("欢迎likang!");
    }
    

二路选择

  • else的语法规则:如果else之前if都判断为false,就执行else中的代码。
    if (逻辑运算)
    {
        // 代码1
    }
    else
    {
        // 代码2
    }
    // 先执行if的逻辑运算。如果结果为true就执行代码1。如果结果为false就执行代码2。
    
    // 登录Demo
    string id = Console.ReadLine();
    string pwd = Console.ReadLine();
    // 验证密码
    if (id == "likang" && pwd == "")
    {
        Console.WriteLine("欢迎likang!");
    }
    else
    {
        Console.WriteLine("登录失败!");
    }
    

多路选择

  • 如果ifelse中只有一个语句,可以省略其后的{}
  • else里还可以再嵌套if-else

    if (id == "likang" && pwd == "123")
    {
        Console.WriteLine("欢迎likang!");
    }
    else if (id == "lixiangzhi" && pwd == "456")
    {
        Console.WriteLine("欢迎lixiangzhi!");
    }
    else if (id == "lisuo" && pwd == "789")
    {
        Console.WriteLine("欢迎lisuo!");
    }
    else
    {
        Console.WriteLine("登录失败!");
    }
    
  • 可以把else if理解为一个else分支中有一个if判断。

  • 如果是else结尾的选择逻辑,那么一定会有一路分支被执行。
  • 如果没有最后一个else,有可能任何一个分支都不执行。
  • if-else与三目运算?:是有本质区别的。三目运算是运算符,可以用来赋值,而if-else是逻辑控制语句。

if - else的匹配

  • 选择分支只有三种方式开头if else else if
  • if表示一个新的选择逻辑的开始。
  • else不能单独存在,它和之前的if一起形成一个选择逻辑。
  • 当选择了一条分支后,选择逻辑就不会去判断其他的分支了。
    if (id == "likang" && pwd == "123")
    {
        Console.WriteLine("欢迎likang!");
    }
    if (id == "lixiangzhi" && pwd == "456")
    {
        Console.WriteLine("欢迎lixiangzhi!");
    }
    if (id == "lisuo" && pwd == "789")
    {
        Console.WriteLine("欢迎lisuo!");
    }
    // 这样写执行效果也对,但效率低了。
    // 这里有三个if语句,表示有三个选择逻辑。
    // 当第一个if判断为true后,后面两个if还会继续判断。
    

总结

  • 可以把ifelse分开来看。
  • if用来确定是否执if中的代码。
  • else表示前面的if判断都为false,就会执行else中的代码。

results matching ""

    No results matching ""