程序的执行不只是根据代码的先后顺序,可以使用条件控制语句和循环语句对代码的执行加以控制
条件控制语句
根据条件 来判断是否执行相应的代码 关键字:有 if,switch
if
if和else和配合起来会使用 if 后面是个小括号,小括号里面是要判断的特定的条件,条件结果是bool类型。紧跟着条件结果为true的时候要执行的代码,如果是多行代码需要使用大括号{}括起来。如果条件结果是false,则执行其后紧跟着的else后面的代码,同样如果是多行代码需要用大括号括起来 else后面也可以继续加if判断 代码示例:
int i = 1;
if (i > 0)
{
Console.WriteLine("i大于0");
}
else
{
Console.WriteLine("i不大于0");
}
执行结果: i不大于0
//int i = 1;
int i = -1;
if (i > 0)
{
Console.WriteLine("i大于0");
}
else
{
Console.WriteLine("i不大于0");
}
执行结果: i大于0
switch
switch和case一起使用 当在一组互斥的分支中需要选择一个执行的时候使用。但switch参数里的值等于case后面的值的时候,执行case的代码 代码示例:
int i = -1;
switch (i)
{
case 0:
Console.WriteLine("当前i为0");
break;
case 1:
Console.WriteLine("当前i为1");
break;
case -1:
Console.WriteLine("当前i为-1");
break;
default:
break;
}
执行结果: 当前i为-1
循环语句
是代码在满足了一定的条件可以重复的执行的关键语句 主要有:for、foreach、while、do… while
for
先来看个for语句执行的经典的例子
for (int i = 0; i < 3; i++)
{
Console.WriteLine(i.ToString());
}
执行结果: 0 1 2 其中代码中 a. int i=0是第一次执行要运行的代码 b. i<10是迭代执行的时候需要判断的条件,如果这个条件结果不是true,for语句将执行结束 c. i++ 是每次循环执行的时候要计算的表达式 d. Console.WriteLine(i.ToString()); 是需要循环执行的代码 代码执行的顺序是 a->b->d->c->b->d->c->b->d->c->b(此时i=3 已经不满足i<3了 迭代结束)
foreach
与for相比foreach不需要那么繁琐 示例代码:
string[] strInfo = new string[] { "你好", "这里是", "http://yahui.wang" };
foreach (string item in strInfo)
{
Console.WriteLine(item);
}
执行结果: 你好 这里是 http://yahui.wang
可以看出foreach遍历了一个集合,取到集合里所有的单元,并且在循环语句中使用这个单元
while
如果while里的表达式如果条件满足,将会执行while后大括号里的代码,条件不满足的时候跳出执行 代码示例:
int value = 0;
while (value<2)
{
Console.WriteLine("我执行了一次");
value++;
}
执行结果: 我执行了一次 我执行了一次
do … while
do while相当于while的另一个版本 区别在于先执行do后面大括号的代码 在进行while判断,也就是说 do后面大括号里的代码必定会执行一编 代码示例:
do
{
Console.WriteLine("我执行了一次");
} while (false)
执行结果: 我执行了一次
跳转语句
在代码执行的过程中跳到另一行代码执行或者跳出当前循环,结束当前代码段执行等起跳转作用的语句,包括:goto、break、continue、return、
goto
从示例中学习
goto label;
Console.WriteLine("世界");
label:
Console.WriteLine("你好");
执行结果: 你好 说明:其中label:是一个名为label的标签;后面的代码是标记的代码,执行goto label的时候直接跳转到了label标记代码,中间的 Console.WriteLine(“世界”) 没有被执行。 goto不能跳转到循环关键字的代码块中,也不能跳出try catch 的finally代码块 但是在实际使用中,goto的口碑并不怎么好。不建议经常使用。
break
break可以跳出switch里的单个case ,也可以跳出for、foreach、while、do…while循环
continue
continue是跳出此次循环,进入下个循环。在for、foreach、while、do…while中使用。
return
return结束一个函数的执行,给出一个函数的返回值,当一个函数没有返回值的时候 return只做结束当前函数使用 本文代码地址:https://github.com/yahue/JustDoIt-CSharp/tree/master/0003_Source/0003_Source