C#-流程控制语句(分支、循环、跳转、异常处理)

分支语句

进行两个或者两个以上选择时,可以使用分支语句,C#提供两种分支语句if语言和switch语句

if语句

根据布尔表达式(True或False)来选择执行的语句
常见形式:
(1)单独使用if语句,不加else语句

if(布尔表达式)
{
	...
}

(2)if语句和else语句配套使用的单条件测试

if(布尔表达式)
{
	表达式为真执行的语句
}
else
{
	为假时执行的语句
}

(3)else块中嵌套if语句的多条件测试

if(布尔表达式1{
	1为真时执行的语句
}
else if(布尔表达式2{
	2为真时执行的语句
}
else
{
	所有条件为假时执行的语句
}	

在这里插入图片描述

switch语句

适用于一个表达式有多个可选值的情况

switch (表达式)
{
	case 常量表达式1:
		语句序列1
	case 常量表达式2:
		语句序列2
	...
	[default:语句序列]
}

注意:
(1)常量表达式。switch条件表达式的值和每个case后的常量表达式可以是string、int、char\enum或者其他类型。
(2)语句序列。每个case后的语句序列可以用大括号括起来,也可以不用大括号,但是每个case块的最后一句一定要是break,goto或者return语句,否则会在编译时提供错误

循环

有for语句、while语句、do-while语句和foreach语句,其中foreach语句主要用于对集合进行操作

for语句

for(初始值;循环条件;循环控制)
{
	语句序列;
}

在这里插入图片描述

foreach语句

适合对集合对象的存取,可以用该语句逐个提取集合中的元素,并对集合中每个元素执行语句序列中的操作,其一般形式为:

foreach(类型 标志服 in 表达式)
{
	语句序列
}

例如:

int [] x={1,2,3};
foreach(int i in x)
{
	Console.WriteLine(i);
}

while语句

条件为True时,会反复执行循环体内的语句序列,知道条件为False为止

while(条件语句)
{
	语句序列
}

do-while语句

do
{
	语句序列
}while(条件)

跳转语句

break语句

退出最近的封闭switch、while、do-while、for或foreach语句

continue语句

不再执行continue语句后面循环块内剩余的语句,而是将控制直接传递到下一次循环。可以用在while、do-while、for或foreach语句

goto语句

将控制转到由标识符制定的语句
只用于以下两种情况:
(1)在switch语句中从一个case标签转到另一个case标签中
(2)从多重循环体内部直接跳转到最外层的循环体外

for(int i=0;i<100;i++)
{
	for(int j=0;j<100;j++)
	{
		....
		if(条件表达式==true)
		goto Exit;
	}
}
Exit:
	Console.WriteLine("The number k is {0}",k);
	

return 语句

return [表达式];

表达式是可选项,如果该函数成员的返回类型不为null,则return语句必须使用表达式返回这个类型的值,否则return语句不能使用表达式

异常处理语句

try-catch语句

try
{
	语句序列
}
catch(异常类型 标识符)
{
	异常处理
}

在程序运行正常的时候在,执行try块内的程序,如果try块中出现了异常,程序就转移到catch块中执行

try-catch-finally语句

如果try后面有finally块,不论是否出现异常,也不论是否有catch块,finally块总是执行的,即使在try内使用跳转语句或者return语句也不能避免finally块的执行
一般在finally块内做释放资源的操作,如关闭打开的文件、关闭与数据库的连接

try
{
	语句序列
}
catch(异常类型 标志符)
{
	异常处理
}
finally
{
	语句序列
}

throw语句

有时候在方法中出现了异常,不一定要立即把它显示出来,而是想把这个异常抛出并让条用这个方法的程序进行捕捉和处理,这时可以使用throw语句

throw [表达式];

可以使用throw语句抛出表达式的值,注意:表达式必须是System.Exception类或从System.Exception类继承的类的类型

throw [表达式]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值