C#中循环条件判断语句是很重要的,基本上每次写代码都会用到的。它的循环语句有:while 、do while、for、foreach、goto。它的选择语句有:if else、switch二种
1、while循环语句
while循环语句,先进行条件判断,如果为真那么就执行{}括号里的代码,否则不执行。while()括号里的值只能是bool类型的。
格式:
while(bool值表达式)
{
执行代码;
}
例:
while(5>3)
{
Console.Write("5大于3");
}
输出结果为:5大于3
2、do while循环
跟while循环类似,只是do while循环是无条件先执行一次{}括号里的代码,再对while()括号里的bool值进行判断,如果是真就再从do开始执行代码,否则退出循环。
格式:
do
{
执行代码;
}while(bool值表达式)
例:
do
{
Console.Write("4大于6");
}while(4>6);
输出结果为:4大于6
尽管while(4>6)不成立,但是do while语句的特性是先执行一次再判断。
3、for语句
for循环一般都用在计数或排序中使用,这样做也就相当于为每行数据打上序号。
for语句可以在语句开始执行的时候,可以声明一个变量或是给变量赋值,再进行判断。
注意,初始化、循环控制条件和循环控制都是可选的。如果忽略了条件,你就可能产生一个死循环,要用跳转语句(break或goto)才能退出。
执行顺序:1、初始化 2、条件判断 3、为真执行代码 4、代码执行完后,执行循环控制
格式:
for(初始化;条件语句;循环控制)
{
执行代码;
}
例:
int k = 0;
for(int i =0; i<6; i++)
k +=i;
Console.Write(k);
输出结果为:15
4、foreach循环
foreach循环是不可控制的,只能用于数组和集合,不管你的开始下标是多少,foreach会自动重第一个位置取出当中的数,并且foreach循环中不能改变里在的值,只能够用于读取,对每取出一个数,都会执行{}括号里的代码。
格式:
foreach(类型 变量名 in 数组或集合)
{
执行代码;
}
例:
string[] str={"我们","天空","世界","海洋"};
foreach(string b in str)
Console.Write(b);
输出结果为:我们 天空 世界 海洋
5、goto循环
一般GOTO建议只用在多重循环的跳出,其它情况尽量不用,因为可读性不高。goto语句只能用在方法里并且它的作用域只能在{}里,但是可以用goto语句从里层住外层跳,反之则不行。也不能从一个{}括号中跳往另一个{}括号中。
格式:
标签:
goto 标签;
例:
static void Main(string[] args)
{
int sum = 0;
int i = 1;
loop1:
if (i < 5)
{
sum += i;
if (sum % 2 == 0)
goto loop2;
i++;
goto loop1;
}
loop2: Console.WriteLine(sum);
Console.ReadKey();
}
输出结果为:6
break:结束并离{}花括号最近的循环语句(在 foreach中使用不会退出循环)
continue:结束循环语句中的本次循环代码,进入下次循环。
6、if else 条件选择
if()括号里是一个bool值的表达式,当为真时就执行{}括号里的语句,否则就跳过这条语句。else:表示false(假),如果if里判断为假时,后面跟有 else 语句就会执行else{}括号里的语句。
格式:
if(条件判断)
{
执行代码;
}
else
{
执行代码;
}
或则
if(条件判断)
{
执行代码;
}
else if(条件判断)
{
执行代码;
}
else if(条件判断)
{
执行代码;
}
例1:
static void Main(string[] args)
{
int a = 10;
int b = 15;
if (a > b)
Console.WriteLine(a);
else
{
Console.WriteLine(b);
}
Console.ReadKey();
}
输出为:15
例2:
static void Main(string[] args)
{
int a = 10;
int b = 15;
if (a > b)
Console.WriteLine(a);
else if(b%a == 0)
{
Console.WriteLine(b);
}
else if ((b - a) == 5)
{
Console.WriteLine(5);
}
Console.ReadKey();
}
输出为:5
7、switch 条件选择
switch case 只能对离散的值进行判断,在case处只能写常量。
switch不允许遍历,必须在每个case后面加break或者goto语句,否则编译不会通过
case标签必须是唯一性的表达式,也就是说不允许两个case具有相同的值。
default:表示当所有case 条件不成立就会执行 default 。
格式:
switch(表达式)
{case 值1:
语句;
break;
case 值2:
语句;
break;
case 值3:
语句;
break;
....................default:语句;break;
}
例:
static void Main(string[] args)
{
string xun = "桃子";
switch (xun)
{
case "大米": Console.WriteLine("我喜欢大米");
break;
case "桃子":
case "水果": Console.WriteLine("我喜欢水果!");
break;
case "车子": Console.WriteLine("我喜欢车子");
break;
default: Console.WriteLine("我一样也不喜欢");
break;
}
Console.ReadKey();
}
输出结果为:水果
case 在选择时如果想得到的语句都相同时,那么case 值:后面就不要写语句和break;,在想要得到语句那个case 值:后面写上想要的代码。
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
详细请查看:<a href="http://edu.csdn.net" target="blank"> http://edu.csdn.net </a>