您的位置:首页 > 编程语言 > C#

<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#