第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. Synctoy2.1使用定时任务0X1

    环境描述:公司需要在windows上面使用双向文件同步,目前发现SyncToy可以实现这个功能,但是在Windows 2012上面 ,添加定时任务的时候,执行状态总是0x1,定时任务配置确认多次,肯定 ...

  2. Rob Pike

    罗布·派克_百度百科 https://baike.baidu.com/item/罗布·派克   1. 你无法断定程序会在什么地方耗费运行时间.瓶颈经常出现在想不到的地方,所以别急于胡乱找个地方改代码, ...

  3. java框架之Shiro-安全/权限框架

    准备 简介 Apache Shiro 是 Java 的一个安全(权限)框架. Shiro 不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境. Shiro 可以完成:认证.授权.加密.会 ...

  4. ts中的类的定义,继承和修饰符

    自己搞一个ts文件 里面写代码如下,试一下就行了 /* 1.vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": &q ...

  5. web项目的一些常用设置

    给项目取别名: 03

  6. PHP----------php-fpm进程数的一些相关配置

    1.其中pm.max_children如何配置:pm.max_children 数量的多少根据机器内存确定,基本上一个进程需要30M的内存,假设起100个进程,那么就是3000M,3G内存. 2.pm ...

  7. 平常比较多实用的SQL

    创建数据库 创建之前判断该数据库是否存在 if exists (select * from sysdatabases where name='databaseName') drop database ...

  8. m2e-wtp的作用

    描述 Maven3下的项目结构,target目录下会有一个m2e-wtp文件夹,删除掉会自动生成,有什么作用呢? wtp解释 WTP:Web Tools Project Maven集成WTP The ...

  9. 第六篇——Struts2的后缀

    Struts2后缀 1.Struts2默认后缀是action: 2.Struts2使用默认后缀时 *.aciton 和 * 都是同一个请求: 3.Struts2自定义后缀后只能使用自定义的后缀访问: ...

  10. Eclipse Decompiler不生效解决办法

    如下图,解决方案,Preferences->General->Editors->File Associations->*.class->Decompiler->De ...