所谓的流程控制就是在程序运行中控制程序的走向,可以通过各种的条件判断执行代码的顺序,有if... if...else.. else...if |switch case...|while... Do...while...|for... 下面我们通过实例来演示。
1.if...else...语句:
这里我们再新建一个控制台程序,并在入口点Mian方法中输入以下代码:
当输入“123456” 时则输入if语句块里的语句并跳过else语句块,反之则只执行else语句块里面的语句。
当然if也可以单独使用,不需要else,如:if(....){ }。
2.else if...语句:
想象一下这样一个场景,当你进入公司上班的时候,保安会在门口核实你的身份,这里通过三个问题核实,首先会查询你的名字、然后是公司口令、最后是你个人的密码 当这三个问题其中有一个是正确的那么你可以进入公司(当然现实情况不会是这样),下面通过代码去实现:
使用else if...时前必须要有一个if...语句,而且else if不可以出现在 else 的后面,否则编译器会报错。
经过上面的例子可以看得出来 从if开始去判断当判断语句出现true的时候将不再执行下面的语句,会直接跳过全部else if和else。所以到这里可以知道,else if 和 你直接使用 多条if语句的效果是不同的,大家可以在编译器中自己撸码。
3.switch case...语句:
可以理解为条件选择判断,当你传入到siwtch( )的值等于case中的值则执行相应的case语句
case中的break 是为了反正贯穿到下面的case语句,和return作用相似,在使用switch case...语句的时候我们要注意一下几点:
1.switch( )中传入的值只针对基本的数据类型比如: bool、char、string、整型、枚举或相应的可以为 null 的类型。
2.case标签必须是常量表达式 比如 42,”42”或者 是声明的常量如:const string number。
3.case 标签的值必须是唯一的,不可以重复。
4.while循环:
当表达式内的条件为true时则执行下面语句块的语句,像我上面的写法就是一个死循环,会一直的循环下去,因为条件一直为真。
5.do...while...循环
会先执行一次do...while..语句块里的语句在执行while()里面的语句。
即时while里面的条件为false,也会至少执行一次。
6.for循环
循环的输出10次
for循环的条件格式: for(声明变量并赋值;判断条件;对变量执行操作){}
7.foreach循环
foreach为数组或对象集合循环,可以遍历输出数据或集合中的每个元素,因为暂时没有讲到数组集合这里大家就看看例子就好了。
循环的输出nums数组里面的值,使用foreach有几点注意:
1.遍历的对象必须实现了IEnumerable接口。
2.建议最好不要再foreach中去赋值。
对于一遍看不懂的同学,可以自己亲手敲代码在编译环境下去调试理解其中的原理。