第1章 使用复合赋值和循环语句

4.1 使用复合赋值操作符

任何算术操作符都可以像这样与赋值操作符合并,从而获得复合赋值操作符

不要这样写

要这样写

Variable=Variable*number;

Variable*=number;

Variable=Variable/number;

Variable/=number;

Variable=Variable%number;

Variable%=number;

Variable=Variable+number;

Variable+=number;

Variable=Variable-number;

Variable-=number;

提示:复合赋值操作符具有和简单赋值操作符(=)一样的优先级和右结合性。

注意:变量递增或递减1不要使用复合赋值操作符,而是使用操作符++和--。

例如,不要这样写:

Count+=1;

而是这样写:

Count++;

 

4.2 使用while语句

使用while语句,可在条件为true时重复运行一个语句。While语句的语法如下:

while(booleanExpression)

statement

先求值booleanExpression(布尔表达式,注意必须放在圆括号中),为true就运行语句(statement)。再次求值booleanExpression,仍为true就再次运行语句。再次求值...如此反复,直至求值为false,此时while语句退出,从while构造后的第一个语句继续。

while语句在语法上和if语句相似(事实上,除关键字不同,语法完全一样),具体如下。

  • 表达式必须是布尔表达式。
  • 布尔表达式必须放在圆括号中。
  • 首次求值布尔表达式为false,语句不运行。
  • 要在while的控制下执行两个或更多语句,必须用大括号将语句分组成代码块。

正确while语句写法:

注意:while循环的变量i控制循环次数。这是常见的设计模式,具有这个作用的变量有时也成为哨兵变量

4.3 编写for语句

for语句提供了结构更正式版本,它将intialization(初始化)、booleanExpression(布尔表达式)与update control variable(更新控制变量)合并到一起。用过for语句就能体会到它的好处,它能防止遗漏初始化和更新控制变量的代码,减小写出无限循环代码的机率。以下是for语句的语法:

for(intialization;booleanExpression;update control variable)

statement

其中,statement(语句)是for循环主体,要么是一个语句,要么是用大括号{}封闭的代码块。

正确for语句写法:

注意:1.初始化只发生一次;2.初始化后先执行循环主体语句,再更新控制变量;3.更新控制变量后再重新求值布尔表达式。

4.4 编写do语句

do语句它的布尔表达式在每次循环之后求值,所以主体至少执行一次。

do语句的语法如下(不要忘记最后的分号):

do

statement

while(booleanExpression);

多个语句构成的循环主体必须是放在{}中的代码块。以下语句向控制台输出0~9,这次使用do语句:

break和continue语句

break可跳出switch语句。还可用它跳出循环。执行break后,系统立即终止循环,并从循环之后的第一个语句继续执行。在这种情况下,循环的“更新”和“继续”条件都不会重新判断。

相反,continue语句造成当前循环结束,立即开始下一次循环(在重新求值布尔表达式之后)。下面是在控制台上输出0~9的例子的另外一个版本,这次使用break语句和continue语句:

(建议慎用continue语句,或者根本不用,因为它很容易造成难以理解的代码。continue语句的行为还让人捉摸不透。例如,在for语句中执行continue语句,会在运行for语句的“更新(控制变量)”部分之后,才开始下一次循环。)

《Visual C#从入门到精通》第四章使用复合赋值和循环语句——读书笔记的更多相关文章

  1. 《Visual C# 从入门到精通》第一章使用变量、操作符和表达式——读书笔记

    前言: 这个笔记是我个人总结,主要是熟练自己查看<Visual C# 从入门到精通>(第8版)这本书时,懵然起总结的想法,只是总结一些知识点,在工作项目会用得上,但是对毫无C#语言基础的, ...

  2. 《Visual C# 从入门到精通》第二章方法和作用域——读书笔记

    第2章 方法和作用域 2.1创建方法 方法是一个基本的,强大的编程机制.可视为函数或者子程序相似的东西. 方法名是个有意义的标识符. 方法主体包含方法被调用时实际执行的语句. 声明一个方法的实例如下: ...

  3. 《Java并发编程实战》第十四章 构建自己定义的同步工具 读书笔记

    一.状态依赖性的管理 有界缓存实现的基类 @ ThreadSafe public abstract class BaseBoundedBuffer<E> { @GuardeBy( &quo ...

  4. GPU 编程入门到精通(四)之 GPU 程序优化

    博主因为工作其中的须要,開始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识,鉴于之前没有接触过 GPU 编程.因此在这里特地学习一下 GPU 上面的编程.有志同道合的小伙伴 ...

  5. 《Visual C++ 2010入门教程》系列四:VC2010中初学者常见错误、警告和问题

    <Visual C++ 2010入门教程>系列四:VC2010中初学者常见错误.警告和问题   这一章将帮助大家解释一些常见的错误.警告和问题,帮助大家去理解和解决一些常见问题,并了解它的 ...

  6. SpringMVC从入门到精通之第四章

    第一个知识点:@Controller注解,用于标识这个类是一个后端控制器(类似struts中的action),主要作用就是接受页面的参数,转发页面.中间的业务逻辑是调用业务类处理的这个就是MVC设计模 ...

  7. #Python编程从入门到实践#第四章笔记

    #Python编程从入门到实践#第四章笔记   操作列表 ​​​1.遍历列表 使用for循环,遍历values列表 for value in values: print(value) 2.数字列表 使 ...

  8. ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 入门案例分析 在第一章里,我们已经对ArcGIS系列软件的体系结构有了一 ...

  9. D3.js的v5版本入门教程(第四章)—— 理解Update、Enter、Exit

    D3.js的v5版本入门教程(第四章) Update.Enter.Exit是D3.js中很重要的概念,下面来讲一下它们到底是什么?(当你看完后.你就会知道如果数据集个数和选择集个数不匹配的情况下使用d ...

随机推荐

  1. GitLab使用公钥SSH key登录

    SSH key提供了一种与GitLab通信的方式,能够不输密码就进行版本控制 第一步,检查SSH key是否存在 如果存在则把SSH Key放到GitLab上,如果不存在则生成新的SSH Key,再放 ...

  2. en-zh(社会问题)social problems-2

    让屏幕代替父母陪孩子?世卫组织:这样是不对的! No sedentary screen time for babies, WHO says Babies and toddlers should not ...

  3. [bash] 几个以前没注意过的小知识

    1.  BASH_SOURCE[0] 是啥意思,以及获取当前脚本所在目录 BASH_SOURCE[] 等价于 BASH_SOURCE, 取得当前执行的shell文件所在的路径及文件名. 如/home/ ...

  4. 【English】【托业】【四六级】写译高频词汇

    大家都知道,四六级翻译每次考的话题不可能原句直接重复,但是,在研究了近几年的四六级真题后,我们惊奇地发现: 写译词汇在重复考! 写译词汇在重复考! 写译词汇在重复考! 因此,小编为大家整理了四六级写译 ...

  5. 检测到包降级: Microsoft.Extensions.Configuration.Abstractions 从 2.1.1 降 2.1.0

    解决方法:工具-nuget管理包-程序管理控制台-选择 项目- 执行 -Install-Package Microsoft.Extensions.Configuration.Abstractions ...

  6. Django进阶之QuerySet和中介模型

    QuerySet QuerySet是查询集,就是传到服务器上的url里面的查询内容.其形态类似于Python的列表,列表中的元素是QuerySet对象.支持大部分列表的内置方法. 可切片 QueryS ...

  7. 【LeetCode每天一题】Maximum Subarray(最大子数组)

    Given an integer array nums, find the contiguous subarray (containing at least one number) which has ...

  8. JAVA微信公众号网页开发 —— 接收微信服务器发送的消息

    WeixinMessage.java package com.test; import java.io.Serializable; /** * This is an object that conta ...

  9. 经验分享 | 如何拿到自己满意的offer?

    本文阅读时间约16分钟 最近两年,人工智能(AI)就像一个点石成金的神器,所有的行业,创业公司,或是求职,只要沾着这个词,多少有点脚踩五彩祥云的感觉,故事来了,融资来了,高薪来了. 于是,越来越多的人 ...

  10. php判断手机段登录,以及phpcms手机PC双模板调用

    首先一段php代码判断是否为手机浏览: function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP ...