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

C# 2010 从入门到精通 学习笔记3 第4章 使用决策语句

2014-06-08 22:25 846 查看

C# 2010 从入门到精通 学习笔记3 第4章 使用决策语句

本章内容

1. 声明布尔变量
2. 使用布尔操作符来创建结果为 true 或 false 的表达式

3. 使用 if 语句,依据一个布尔表达式的结果来做出决策

4. 使用 switch 语句做出更复杂的决策

4.1 声明布尔变量

        Microsoft Visual C#提供了一个名为 bool 的数据类型。bool 变量只能容纳两个值之一:true或 false。

4.2 使用布尔操作符

        布尔操作符(Boolean operator)是求值结果要么为 true,要么为 false 的一个操作符。最简单的是 NOT(求反)操作符,它用感叹号(!)来表示。

4.2.1 理解相等和关系操作符





        相等操作符(==)和赋值操作符(=)不要搞混了。

4.2.2 理解条件逻辑操作符

        C#还提供了另两个布尔操作符:逻辑 AND(逻辑与)操作符(用&&表示)和逻辑 OR(逻辑或)操作符(用||表示)。这两个操作符统称为条件逻辑操作符(conditional logical operator)。

4.2.3 短路求值

        操作符&&和||都支持一个名为短路求值(short circuiting)的功能。

        例如,假定操作符&&的左操作数求值为 false,那么整个表达式的结果肯定是 false,无论右操作数的值是什么。类似地,如果操作符||的左操作数求值为 true,那么整个表达式的结果肯定是 true。在这些情况下,操作符&&和||将跳过对右侧的布尔表达式的求值。

        将容易计算、简单的布尔表达式放到条件逻辑操作符的左边,将较复杂的表达式放到右边。在许多情况下,程序并不需要对更复杂的表达式进行求值。

4.2.4 操作符的优先级和结合性总结

        同一个类别中的操作符具有相同的优先级。在“类别”列表中,各个类别按照从高到低的顺序排列。一个更高类别中的操作符优先于较低类别中的操作符。



4.3 使用if语句来做出决策

4.3.1 理解if语句的语法

if (booleanExpression)
statement-1;
else
statement-2;

        注意:



bool inWord;
...
if (inWord==true) //可以这样写,但不常用
...
if (inWord) // 更好的写法

4.3.2 使用代码块来对语句进行分组

        将语句分组到一个代码块(block)中。代码块是指用一对大括号来封闭的一系列语句。代码块还界定了一个新的作用域。你可以在一个代码块内部定义变量,但这些变量会在代码块结束处消失。

4.3.3 嵌套if语句

        可以在一个 if 语句中嵌套其他 if 语句。

4.4 使用switch语句

4.4.1 理解switch语句的语法

switch (controllinExpression)
{
case constantExpression:
statements;
break;
case constantExpression:
statements;
break;
...
default:
statements;
break;
}

        我们将 constantExpression 称为 case 标签,一个 case 标签所标识的代码块则称为 case 块。

注意:
        每个 constantExpression 的值都必须是唯一的,使 controllingExpression 只能与它们当中的一个值匹配。 如果controllingExpression的值和任何一个constantExpression 的值都不匹配,也没有 default 标签,程序就从 switch 的结束大括号之后的第一个语句继续执行。

4.4.2 遵守switch语句的规则

只能将 switch 语句用于基本数据类型,例如 int 或 string。对于其他任何类型(包括float 和 double 类型),只能用 if 语句。
case 标签必须是常量表达式(constantExpression),如 42 或者"42"。如果需要在运行时计算 case 标签的值,则必须使用 if 语句。
case 标签必须具有唯一性;也就是说,不允许两个 case 标签具有相同的值。
可以连续写一系列 case 标签(中间不间插额外的语句),指定在多种情况下都运行相同的语句。如果像这样写,最后一个 case 标签之后的代码将适用于所有 case。

注意:
        break 语句是用来阻止直通的最常见的方式,但也可以用一个 return 语句或者一个throw 语句来替代它。

        在使用 C#编程时,必须为 switch 语句中的每个 case(包括 default case)都提供一个 break 语句。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐