美文网首页
游戏之路语言篇之循环语句--005

游戏之路语言篇之循环语句--005

作者: HeavenOrSky | 来源:发表于2019-04-01 15:29 被阅读0次

    老酷:小伙子还在玩分支语句呢?
    小奇:是的,因为有时候测试值的时候很麻烦。我要启动还几次程序才能测试完毕。
    老酷:(噗嗤,笑了)
    小奇:你还笑。。。。。。块累我了
    老酷:我们为什么使用计算机?
    小奇:解放劳动力。让我们的生活更高效。
    老酷:所以啊,有重复性的工作时我们应该交给计算机去处理。
    小奇:还可以怎么做?(两眼发光)
    老酷:还累么?
    小奇:不累,学了新内容,以后就比现在轻松了,所以现在不累。
    老酷:好!现在我们来学习循环。一般我们有重复的内容我们就可以使用循环。我们使用昨天的代码进行讲解。

            static void Main(string[] args)
            {
                Console.WriteLine("选择季度:(1-4)");
                int num = int.Parse(Console.ReadLine());
                switch (num)
                {
                    case 1:
                        Console.WriteLine("第一季度");
                        break;
                    case 2:
                        Console.WriteLine("第二季度");
                        break;
                    case 3:
                        Console.WriteLine("第三季度");
                        break;
                    case 4:
                        Console.WriteLine("第四季度");
                        break;
                    default:
                        Console.WriteLine("输入有误");
                        break;
                }
            }
    

    现在有个需求我们用户要经常输入数字判断该数字是第几个季度,输入的内容不在是1-4,而是1-12
    那么以上的代码就要做修改

            static void Main(string[] args)
            {
                Console.WriteLine("请输入月份");
                int month = int.Parse(Console.ReadLine());
                switch (month)
                {
                    case 1:
                    case 2:
                    case 3:
                        Console.WriteLine("第一季度");
                        break;
                    case 4:
                    case 5:
                    case 6:
                        Console.WriteLine("第二季度");
                        break;
                    case 7:
                    case 8:
                    case 9:
                        Console.WriteLine("第三季度");
                        break;
                    case 10:
                    case 11:
                    case 12:
                        Console.WriteLine("第四季度");
                        break;
                    default:
                        Console.WriteLine("输入有误");
                        break;
                }
            }
    

    小奇:这样也可以?不是一个case对应一个break么?
    老酷:由于1-3 、4-6、7-8、10-12四个段中的每段都有相同的输出,所以我们就可以合并,合并后和不合并执行的效果相同。
    小奇:那这样的代码就简洁多了。
    老酷:对于这段代码来看,我们测试的有效值不在是4个而是12个值 ,假如再输入一些边界值和其他非法值,数量就远远大于12个了那么我们就该使用循环了。
    小奇:如果昨天这样测试值,我会累死的。
    老酷:我们呢先看以个比较简单的案例!让控制台无限次的打印"Hello world",那么我们需要把

    Console.WriteLine("Hello World");
    

    作为一个整体。那么在此整体外加循环结构就行了,我们先学习While循环结构。

            static void Main(string[] args)
            {
                while (true)
                {
                    Console.WriteLine("Hello World");
                }
            }
    

    运行后是不是满屏的"Hello World"呢?


    while循环

    小奇:果然比我写的快。。。。
    老酷:何止是块,跟计算机比起来,你跟没有写。。
    小奇:我们要控制打印的次数呢?
    老酷:那就声明一个变量作为计数器,这时候while中的条件就可以重新设置了,刚才的while循环中的条件为true ,表示永远成立 ,所以会一直执行下去。

            static void Main(string[] args)
            {
                //计数器
                int count = 0;
                //计数器小于5的时候执行循环体内的代码
                while (count<5)
                {
                    Console.WriteLine("Hello World");
                    //每打印一次  那么计数器就加1
                    count++;
                }
            }
    
    可控的while循环

    小奇:还是蛮简单的么!!
    老酷:那就再给你说一个for循环。for循环是自带计数器的,结构比while循环简单一些。

                for (int i = 起始值; i < 终止值; i++)
                {
                    //循环体
                }
    

    循环次数=终止值-起始值
    在整个循环过程中 for 后面的三个玄幻条件 第一个只执行一次 第二个条件执行循环次数+1次 第三个条件执行次数和循环次数一样

            static void Main(string[] args)
            {
                for (int i = 0; i < 5; i++)
                {
                    Console.WriteLine("Hello World");
                }
            }
    

    我们同样使用for循环也可以和上面的while循环做到相同结果。
    小奇:循环感觉还是很有内涵的,让我琢磨一下!
    老酷:那么对于刚才有关根据输入月份判断季度的问题你想好了么
    小奇:那个问题我还是可以的,先确定循环体,然后确定循环次数,把循环体放入循环结构就ok了,你看,就这么简单,就这么easy!!!

            static void Main(string[] args)
            {
    
                for (int i = 0; i < 5; i++)
                {
                    Console.WriteLine("请输入月份");
                    int month = int.Parse(Console.ReadLine());
                    switch (month)
                    {
                        case 1:
                        case 2:
                        case 3:
                            Console.WriteLine("第一季度");
                            break;
                        case 4:
                        case 5:
                        case 6:
                            Console.WriteLine("第二季度");
                            break;
                        case 7:
                        case 8:
                        case 9:
    
                            Console.WriteLine("第三季度");
                            break;
                        case 10:
                        case 11:
                        case 12:
                            Console.WriteLine("第四季度");
                            break;
                        default:
                            Console.WriteLine("输入有误");
                            break;
    
    
                    }
                }
            }
    

    相关文章

      网友评论

          本文标题:游戏之路语言篇之循环语句--005

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