老酷:小伙子还在玩分支语句呢?
小奇:是的,因为有时候测试值的时候很麻烦。我要启动还几次程序才能测试完毕。
老酷:(噗嗤,笑了)
小奇:你还笑。。。。。。块累我了
老酷:我们为什么使用计算机?
小奇:解放劳动力。让我们的生活更高效。
老酷:所以啊,有重复性的工作时我们应该交给计算机去处理。
小奇:还可以怎么做?(两眼发光)
老酷:还累么?
小奇:不累,学了新内容,以后就比现在轻松了,所以现在不累。
老酷:好!现在我们来学习循环。一般我们有重复的内容我们就可以使用循环。我们使用昨天的代码进行讲解。
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循环中的条件为true ,表示永远成立 ,所以会一直执行下去。
static void Main(string[] args)
{
//计数器
int count = 0;
//计数器小于5的时候执行循环体内的代码
while (count<5)
{
Console.WriteLine("Hello World");
//每打印一次 那么计数器就加1
count++;
}
}

小奇:还是蛮简单的么!!
老酷:那就再给你说一个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;
}
}
}
网友评论