流程控制
来源:互联网 发布:parrot无人机软件下载 编辑:程序博客网 时间:2024/06/09 19:16
程序流程就是C#代码的执行顺序。
本章介绍控制程序流的两种方法,分支和循环。
一、常用的一些东西
1.1比较常用的是bool类型,并且bool类型可以用于存储比较结果
eg:
bool a;
a=b<10;
或者
bool isBob;
isBob=myName==”Bob”;
1.2还有常用的是逻辑运算符“&&”和“||”:
功能就不用多说,就是“与”和“或”,和“&”、“|”的区别在于,如果&&运算符的第一个操作数是false,那么就不需要考虑第二个操作数的值了(道理你应该懂得,第二数不管什么都是false),但&不一样,它总要计算两个操作数。总的来说就是尽可能的使用“&&”和“||”,性能会有提高,特别是大量使用这些运算符的应用程序中表现的更为明显。
那可能有人就会说那要“&”,“|”有什么用,其实它还有个作用,是对数值执行操作,以这种方式使用时,处理的是变量中存储的一系列位,而不是变量值(就是逻辑性的处理二进制数)。因此也称为“按位运算符”,在大多数开发中,除了数学应用之外,这个功能不太常用。还有位移运算符“<<”,“>>”,就是把二进制值向左或向右移位。
eg:
int a=10;//二进制为1010
Int b=a<<2;//左移三位101000,所以b=40,其实就是每向左移一位,就乘以2在大多数代码中都不怎么使用这些运算符,它们主要用于高度优化的代码,通常用于设备驱动或系统代码。
1.3然后要注意运算符的优先级,这里就提一个,&&运算符在<=和>=之后执行。如果分不清,就添加括号,也可以使表达式看的更清晰。
二、分支
分支就是控制下一步要执行哪行代码的过程,主要有三种分支技术:
1)三元运算符<test>?<resultIfTrue>:<resultIfFalse>
2)if语句
3)swith语句
使用的话和其他语言的逻辑一样,这里就提一些注意的地方:
2.1我觉得三元运算符一个常用的地方是可以返回结果
eg:
int a=(b<5)?1:0;
2.2不知道你有没有犯过这种错误if(var1==3||var1==4)的条件写成if(var1==3||4),还是强调下,注意运算符的优先级。
2.3使用switch要注意,执行完每个部分中的代码后,要有一个break语句,因为在执行完一个case后,再执行一个case语句是非法的(C#和C++是有区别的,在C++中,可以在运行完一个case后,运行另一个case语句)。
在C#代码中,也可以使用return语句,中断当前函数的运行,而不是仅中断switch结构的执行。
也可以使用goto语句跳到另一个case。
并且case语句可以堆叠,就是多个case放一起
2.4在变量(name)中,使用name.ToLower()是一个标准命令,把name的字符串全部转换为小写,可用于处理所有的字符串变量,在不确定用户输入的内容时,使用它很方便。
三、循环
1)do循环:至少执行一次
2)While循环:要注意比较值的变化,避免死循环的出现
3)for循环:这类循环可以执行指定的次数,并维护它自己的计数器。
4)foreach循环:C#独有的一种循环,后面介绍数组的时候会举例。
循环的中断:
break——立即终止循环
continue——立即终止当前的循环(继续执行下一次循环)
return——跳出循环及其包含的函数
无限循环:
while(true){
//code in loop
}
分支与循环的使用,可以在C#代码中创建出比较复杂的结构。要很好的灵活应用,对于初学者来讲得多加练习,多敲代码,弄清楚里面的逻辑结构,要有清晰的思维。