美文网首页从零开始学C#散文简友广场
从零开始学C#---吃饭睡觉打豆豆

从零开始学C#---吃饭睡觉打豆豆

作者: 粽子和小恺 | 来源:发表于2021-07-28 06:25 被阅读0次

    本篇属于:从零开始学C# | 基础篇 | 03

    先来聊聊天

    分支,无论对程序设计还是对我们自己来讲都是一种非常基础的操作,比如要不要喝水是一个选择,要不要睡觉又是一个选择。
    在C#中我们有两种方式去判断用户输入从而给出响应的结果。


    在控制台中读取用户输入

    使用如下语句:

    Console.ReadLine();
    

    返回值是一个字符串,比如:

    string userInput = Console.ReadLine();
    

    打豆豆

    最简单的if条件语句,它长这样:

    if (条件表达式)
    {
        //满足条件时做的事
    }
    

    现在,我们提示用户随便输入一句话,如果用户输入的是"打豆豆"就输出"成功打了豆豆",最后不管怎么样都输出"程序执行完毕"。

    源代码如下:

    Console.WriteLine("随便输入一句话:"); //提示用户输入
    string userInput = Console.ReadLine(); 接收用户输入
    if (userInput == "打豆豆")
    {
        Console.WriteLine("成功打了豆豆");
    }
    Console.WriteLine("程序执行完毕");
    Console.ReadKey(); //让用户任意按键结束程序
    

    特别注意:在程序设计中,等于号是赋值的意思,比如if (userInput = "打豆豆"){,这句话的意思是"如果把打豆豆赋值给userInput"。如果想表达等于的意思,请使用==。在JavaScript中,甚至还有类似于===的严格比较模式。

    另外,不等于号是!=,大于等于是>=,小于等于是<=


    我要吃饭

    上面的程序,无论你怎么输入,顶多会输出一句打豆豆。打豆豆总有打累的时候,那怎么办呢?

    让我们来认识一下终极的"受"--else:

    if (条件表达式)
    {
        //满足条件要做的事情
    }
    else
    {
        //不满足条件要做的事情
    }
    

    诶嘿,这下有好玩的了。如果不打豆豆,那就吃饭,怎么样?
    源代码如下:

    Console.WriteLine("随便输入一句话:");//提示用户输入
    stringuserInput = Console.ReadLine();接收用户输入
    if (userInput == "打豆豆")
    {
        Console.WriteLine("成功打了豆豆");
    }
    else
    {
        Console.WriteLine("啊真香");
    }
    Console.WriteLine("程序执行完毕");
    Console.ReadKey();//让用户任意按键结束程序
    
    

    吃饭睡觉打豆豆

    这时候聪明的小伙伴就要问了:我可不可以在else底下在写if,判断其他情况,就像这样:

    Console.WriteLine("随便输入一句话:");//提示用户输入
    stringuserInput=Console.ReadLine();接收用户输入
    if(userInput=="打豆豆")
    {
        Console.WriteLine("成功打了豆豆");
    }
    else
    {
        if (userInput == "吃饭")
        {
            Console.WriteLine("啊 真香");
        }
        else
        {
             //...
        }
    }
    Console.WriteLine("程序执行完毕");
    Console.ReadKey();//让用户任意按键结束程序
    

    可以是当然可以,但这种方法会激起民愤来,所以C#给我们提供了更方便的语句--把else与if写在一起:

    if (条件表达式1)
    {
        //满足条件要做的事情
    }
    else if (条件表达式2)
    {
        //不满足条件表达式1但满足条件表达式2做的事情
    }
    ...
    else
    {
        //条件全部不满足时做的事情
    }
    

    然后我们便可以写出这么一个东西:

    Console.WriteLine("随便输入一句话:");//提示用户输入
    stringuserInput = Console.ReadLine();接收用户输入
    if (userInput == "打豆豆")
    {
        Console.WriteLine("成功打了豆豆");
    }
    else if (userInput == 吃饭)
    {
        Console.WriteLine("啊 真香");
    }
    else if (userInput == 睡觉)
    {
        Console.WriteLine("呼噜呼噜");
    }
    Console.WriteLine("程序执行完毕");
    Console.ReadKey();//让用户任意按键结束程序
    

    简化一些...

    如果语句虽然好用,但在一些情况下,会使代码变得冗余。
    接下来让我们看一下"判断":

    switch (变量)
    {
       case 值1 : 变量等于值1时做的事;break;
       case 值2 : 变量等于值2时做的事;break;
        ...
       default :
       全部不满足时做的事
       break;
    }
    

    这时候你们可能就要问了:break到底是个什么东西?

    事实上,编译器并没有这么只能,指哪打哪。如果不加break,你就会眼睁睁的看着编译器啪啪啪从上到下全给你执行一遍。


    空间折跃

    goto语句是一个神奇的语句,它可以把程序执行导航到指定的地方。
    常用的有:

    goto 标签
    goto case 值
    goto default
    

    后两种是在选择语句中使用的,语意非常明显,在这里就不再赘述。那标签又是怎么一回事呢?

        static void Main(string[] args){
        goto ex;
        Console.WriteLine("Main");
        ex:
            Console.WriteLine("ex");
    }
    

    大家可以自己尝试,但是使用goto语句使程序变得非常不可读。使用请尽量避免使用goto语句。


    三元表达式

    基本语法:

    条件表达式?满足时做的事:不满足时做的事
    

    例(取绝对值):

    a < 0?-a:a
    

    注:其实C#里还有个函数叫abs(int)可以取绝对值,还可以直接把符号切掉。奇技淫巧千千万,等待大家去学习!

    相关文章

      网友评论

        本文标题:从零开始学C#---吃饭睡觉打豆豆

        本文链接:https://www.haomeiwen.com/subject/hvwamltx.html