zoukankan      html  css  js  c++  java
  • C# 2010 从入门到精通 学习笔记3 第4章 使用决策语句

    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语句的语法


    注意:


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

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

    4.3.3 嵌套if语句

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

    4.4 使用switch语句

    4.4.1 理解switch语句的语法


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

    4.4.2 遵守switch语句的规则

    1. 只能将 switch 语句用于基本数据类型,例如 int 或 string。对于其他任何类型(包括float 和 double 类型),只能用 if 语句。
    2. case 标签必须是常量表达式(constantExpression),如 42 或者"42"。如果需要在运行时计算 case 标签的值,则必须使用 if 语句。
    3. case 标签必须具有唯一性;也就是说,不允许两个 case 标签具有相同的值。
    4. 可以连续写一系列 case 标签(中间不间插额外的语句),指定在多种情况下都运行相同的语句。如果像这样写,最后一个 case 标签之后的代码将适用于所有 case。
    注意:
    break 语句是用来阻止直通的最常见的方式,但也可以用一个 return 语句或者一个throw 语句来替代它。
    在使用 C#编程时,必须为 switch 语句中的每个 case(包括 default case)都提供一个 break 语句。
  • 相关阅读:
    python中进程池和回调函数
    python网络编程中互斥锁与进程之间的通信
    python支持的进程与线程
    python网络编程之进程
    python网络编程之粘包
    python中socket编程
    python的异常处理
    webstorm(四):webstrom配置一键修复ESLint的报错
    JavaScript Array map() 方法
    ES6之Array.includes()函数
  • 原文地址:https://www.cnblogs.com/crazygolf/p/3856737.html
Copyright © 2011-2022 走看看