在c#中循环语句总共三种,do...while ,while,for这三种语句。

循环语句,是为了解决一些繁琐的计算。比如输出0-10这10个数字。 在不循环的情况下你可以能这么写

Console.WriteLine(0);
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();
Console.WriteLine();

但是我们使用循环呢? 我们先学习do while循环。看看如何解决。

do

{

代码块

}

while(条件判断);【布尔值】[while 后面必须接分号]

do while循环的解释是,先执行do代码块内的代码,至少一次,在执行while内的判断条件,如果while内布尔值或者条件是true或者符合条件,则继续循环do代码,直到while内的布尔值等于fasle或者while条件不符合则停止循环。 流程图

我们知道了,do while的简单用法,那么我们该如何解决上述输出0-10呢? 代码如下

int nub=;
do
{
nub++;
Console.WriteLine("当前输出的数字{0}",nub);
}
while(nub<);//输出到10,while括号后必须接分号

简单粗暴。

ok,我们简单了解过do while的用法后,也就这么回事,知道原理,就是使用问题了,在实战中条件值的判断和do内的程序代码可能会很不一样,但是do while的循环原理是一样的。

现在是while循环。

while循环和do while循环有什么不一样呢? 仅仅只是少了一个do的区别吗? do while循环是 不管你的while判断的值如何,我他妈do就是要循环一次(至少一次),while呢?你不经过我while的判断你甭想循环。简单的说都do while是 先循环 后判断, whlie是先判断 后循环。

格式:

while(条件判断)【布尔值】

{

代码块

}

看上去 有些和IF判断有些相似,确实如此都是先判断,在执行花括号内的程序,只不过IF只执行括号内一次,while可以执行多次的区别。

流程图

代码:

            int nub = ;
while (nub < )//输出到10
{
//nub++; 如在这里那么第一个输出的则是1 应为是先执行的自加,在执行输出
Console.WriteLine("当前输出的数字是:{0}", nub);
nub++;
}

OK了  while的基本用法 也是熟悉了。那么看看最后一个for循环是如何使用的。

for循环语句的书写可能有些长相对do while和while。而且使用方式现对有些麻烦。 for循环是可以指定循环次数,并且可以维护自己的计数器。

如果要定义一个for循环,那么需要以下几个信息

1,初始化计数器变量的一个起始值。

2,继续循环的条件,它应该涉及计数器变量。

3,在每次循环的的最后,对计数器变量执行一个操作。

嗯。看起来好难得样子。先不管如何 我们先看看for循环的格式。

for(initialization【开始】,condition【条件】,increment【增加】)

{

代码块

}

执行的顺序是,先执行initialization【开始】这一个部分,也就是初始化计数器,在执行condition【条件】这部分就是判断,符合条件就执行括号内的代码块【不符合就直接跳出for循环】,最后执行increment【增加】这一部分,也就是自行维护计数器。并且再次执行For语句,直到condition【条件】这部分值不符合条件为止。

流程图:

那么用for循环怎么输出0-10呢?

          for(int i=;i<;i++)
{
Console.WriteLine("The Nub is {0}",i);
}

SO ezay. for循环的代码比起其他循环可以说很是简便。

到现在 do while,while for三种循环都说完了。在三个循环中还有三个个关键字。

break:立即跳出循环

contiune:立即终止当前循环(继续执行下一次循环)

return:跳出循环以及包换改循环的函数

无限循环。

有一个最简单的方法,

while(1)【括号内或者写true】

{

}

就是无限循环了...

正经学C#_循环[do while,while,for]:[c#入门经典]的更多相关文章

  1. 正经学C#_变量与其转换:《c#入门经典》

    上一节上了变量.末尾简单了说了下 命名方式,声明变量. 命名方式在C#,或者任何语言都是非常重要的一门学问.值得去深入思考一下.变量名的优化与其工作效率的提升,有很多大的关系的. 声明变量,上节介绍了 ...

  2. 正经学C#_变量与其数据类型:《c#入门经典》

    这一篇总结以下变量与其数据类型. 变量:在c#中指 某一个值或者数据存储在变量中,并且可以取出或者查看.变量不仅仅是一种,也有很多种,细分而言就是类型.泛指就是变量.如果是要是使用变量就要 声明变量, ...

  3. 正经学C#_介绍与其编写基础:《c#入门经典》

    本文所讲内容,均可在<c#入门经典>中可以查询.如有错误,敬请指出.谢谢! C#:全称C Shar.是微软.Net Framework平台下最为主要的客户语言之一.个人理解,c#是微软最为 ...

  4. 正经学C#_表达式与其运算符[算术运算符]:《c#入门经典》

    表达式:正如字面意义,它是通过算术运算符来进行运算的数学公式.表达式的意义我们都是很明白的,大白话就是一个公式嘛.不是很难懂. 表达式不是一个单独的存在,必然有操作数或者操作符的.在c#中有操作符有很 ...

  5. 正经学C#_委托

    以前不会,甚至连想去学都没想.啧啧啧,我是何等朽木啊. 我先不说其中理念,或者原理,咱就先说最简单的用法.怎么去使用委托. 委托 Delegate 使用委托,就要先定义一个委托.定义一个委托就要先声明 ...

  6. 正经学C#_判断[switch语句]:[c#入门经典]

    switch是一个和IF语句极其相似的语句.但是Switch允许条件可以有多个值. 程序的基本结构如下 switch(textVal) { case Val: 程序代码 break case Val2 ...

  7. 正经学C#_判断[IF语句]:[c#入门经典]

    判断语句几乎是最为常用的语句之一,是最有效的. 先说IF语句,IF语句也是属于分支的一种,用来控制流程的. IF的语句是这样的 IF(xxx 条件) { //代码块 } ,b; ) { b=a--; ...

  8. 正经学C#_运算符优先级:[c#入门经典]

    学了那么多的运算符,终于差不多结束了,现在要说一下  总体的优先级别 高到低的顺序 类别  运算符  结合性  前缀 ++,--,(),+,-,!,~ 从左到右  乘除  * / %  从左到右  加 ...

  9. 正经学C#_位移与其位移运算符[c#入门经典]

    在c#入门经典一书中,最为糟糕的一节就是位移了,完全没有讲明白,也没有说全,似乎只是轻轻点了一下何为位移,带了两次原码和补码,完全不理会是否明白不明白.这一点这本书很差.因为此书说了,在大多数应用开发 ...

随机推荐

  1. 正确设置Linux的ulimit值的方法

    学习swoole的时候有一个max_conn参数, max_conn 描述:服务器允许维持的最大TCP连接数 说明:设置此参数后,当服务器已有的连接数达到该值时,新的连接会被拒绝.另外,该参数的值不能 ...

  2. 使用批处理自动发布IIS站点,基于IIS7及以上

    经过研究,终于使用批处理解决了站点发布步骤多的问题. 完整批处理如下: @set "sitePath=%~dp0" @echo 新建程序池 @C:\Windows\System32 ...

  3. [转] 张凌 ARM体系架构

    很多时候我们都会对M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者说AVR,51,PIC等,一头雾水,只知道是架构,不知道具体是什么,有哪些不同?今天查了些资料,来解解惑 ...

  4. 火星坐标、百度坐标、WGS84坐标转换代码(JS)

    JS版本源码 /** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09).国测局坐标(火星坐标,GCJ02).和WGS84坐标系之间的转换 */ / ...

  5. RabbitMQ 消息队列 应用

    安装参考    详细介绍   学习参考 RabbitMQ 消息队列 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. M ...

  6. 【Python环境】matplotlib - 2D 与 3D 图的绘制

    2015-10-30数据科学自媒体 类MATLAB API 最简单的入门是从类 MATLAB API 开始,它被设计成兼容 MATLAB 绘图函数. 让我们加载它: from pylab import ...

  7. Aborted connection+druid

    试一试setTimeBetweenEvictionRunsMillis +setMaxEvictableIdleTimeMillis小于 mysql的wait_timeout

  8. java多线程编程——同步器Exchanger

    类java.util.concurrent.Exchanger提供了一个同步点,在这个同步点,一对线程可以交换数据.每个线程通过exchange()方法的入口提供数据给他的伙伴线程,并接收他的伙伴线程 ...

  9. Codeforces #536 div2 E (1106E)Lunar New Year and Red Envelopes (DP)

    题意:过年了,Bob要抢红包.抢红包的时间段为1 - n,有m个红包,每个红包有三个属性:st(红包出现的时间), ed(红包消失的时间),d(如果抢了这个红包,能够抢下一个红包的时间),w(红包的收 ...

  10. Codeforces 1077E (二分乱搞或者dp)

    题意:给你一个数组,可以从中选区若干种元素,但每种元素选区的个数前一种必须是后一种的2倍,选区的任意2种元素不能相同,问可以选取最多的元素个数是多少? 思路1(乱搞):记录一下每种元素的个数,然后暴力 ...