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

2019-04-01  本文已影响0人  HeavenOrSky

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

        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;


                }
            }
        }
上一篇下一篇

猜你喜欢

热点阅读