<C#入门经典>学习笔记2之控制流程
2016-04-02 10:02
260 查看
控制流程
控制程序流的两种方法:分支和循环;这两种方法都要用到布尔逻辑布尔运算符
布尔运算符也称关系运算符,包括 ==、!= 、< 、 > 、 <= 、 >=
异或操作
异或操作: Var1 = Var2 ^ Var3,如果Var2或Var3中有且仅有一个是true,var1的值就是true,否则为false。(Var2和Var3可以是包含布尔运算符的公式)
布尔赋值运算符
Var1 &=Var2 等效于 Var1 = Var1&Var2
Var1 |= Var2 等效于 Var1 = Var1 | Var2
Var1 ^=Var2等效于 Var1 = Var1 ^ Var2
按位运算符
&(与) / |(或) / ^(异或) / ~(非)
注:按照2的补位系统,(-x)定义为(~x+1)
移位运算符
1. >> 右移,每向右移动一位,则给操作数除以2,并丢弃非整余数
2. << 左移,每向左移动一位,操作数乘以2
移位赋值运算符
Var1 >>= Var2 等效于 Var1 = Var1>>Var2
Var1 <<=Var2 等效于 Var1 = Var1 <<= Var2
运算符优先级
上述运算符加上学习笔记1中运算符,优先级如下述表格:
goto语句
1.C#允许给代码行加上标签,这样就可以使用goto语句直接跳转到这些代码行上。
2.优点:这是控制什么时候执行哪些代码的一种简单方式。 缺点:过多地使用这个技巧将使代码晦涩难懂(尽量不要使用goto语句)
示例:
goto InputNumber2; Console.WriteLine("Please enter the first number"); InputNumber2: Console.WriteLine("Please enter the second number");
分支
C#的三种分支技术:三元运算符;if语句;switch语句
1.三元运算符: test?resultIfTrue:resultIfFalse 适用于这样简单的赋值语句
2.if语句 : 与C语言使用一致
if ()
{
}
else
{
}
3. switch语句:与C语言使用一致
switch()
{
case XX:
break;
…
default:
break;
}
1)C#与C++区别为,在C++中,可以在运行完一个case语句后,运行另一个case语句。而在C#中,执行完一个case块后,再执行第二个case语句是非法的。
2)在C#中可以用return(中断当前函数的运行,不仅是中断switch结构的执行)阻止程序流程从一个case语句转到下一个case语句。
3)可以使用goto语句,因为case 语句实际上是在C#代码中定义的标签。 goto case XX
4)如果把多个case语句放在一起(堆叠它们),其后加一个代码块,实际上是一次检查多个条件,若满足这些条件中的任何一个,就会执行代码。
5)case后面跟的必须是一个常数值或者常量。声明常量需要指定变量类型和关键字const,同时必须给它们赋值。
循环
1.do 循环:执行标记为循环的代码,然后进行一个布尔测试,如果测试的结果为true,就再次执行这段代码。当测试结果为false时,就退出循环。
do
{
}
while();
2.while循环:while循环中的布尔测试是在循环开始时进行,而不是最后。如果测试结果为false,就不会执行循环,直接跳转至循环之后的代码。
while()
{
}
3.for循环:
for(initialization;condition;operation)
{
循环的中断
break - 立即终止循环,继续执行循环后面的函数
continue - 立即终止当前的循环(继续执行下一次循环),而不是整个循环
goto - 可以跳出循环,到已标记好的位置上(如果希望代码易于阅读和理解,最好不要使用该命令)
return - 跳出循环及其包含的函数
相关文章推荐
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#实现给图片加水印的方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#中的delegate委托类型基本学习教程
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- Ruby基础知识之基本流程控制
- 举例讲解C#中自动实现的属性
- C#中this的用法集锦
- C#数据结构之顺序表(SeqList)实例详解
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析