C#语言中循环分类总结
C#语言中,循环主要分为4种,分别是:while循环、do while循环、for循环、foeach循环。下面我将分类对循环语句总结。
1、while循环:
如果循环条件为真,则执行循环体;执行完循环体之后,在判断条件是否为真,如果为真,再执行循环;然后再判断条件是否为真,就这样一直进行下去。直到循环条件的判定结果为假,才会结束循环。
值得注意的是,循环条件可以是值、变量、表达式,但是必须是bool类型。
//代码格式: //代码解释:
while(循环条件) //如果循环条件为真,则执行循环体,执行完循环体之后,在判断条件是否为真,如果为真,再执行循环题
{ //然后再判断条件是否为真,就这样一直进行下去,知道循环条件的判定结果为假,才会结束循环
循环体;
}
例如:在控制台中输出1000以内能被3整除的数
int num=1; //当前的数字
while (num<=1000)
{
if(num%3==0)
{
Console.WriteLine(num):
}
num++;
}
同时也可以将上述代码优化为:
int num=3;
while (num<1000)
{
Console.WriteLine(num);
num +=3;
}
2、do while 循环:
先执行一次循环体;然后判断循环条件是否满足,如果满足则再次执行循环体;然后再判断条件是否满足,知道条件不满足,才结束循环。
这里需要注意的是,do while与while语句的不同就在于,do while语句要先执行一次循环体、再判断条件,而while语句是先判断条件、再执行循环体。
//代码格式:
do
{
循环体
}
while(循环条件);
例如:控制台中提示用户输入一个正数,然后输出这个数字,如果用户输入的不是正数,则需要重新输入。
//while语句代码如下:
Console.Write("请输入一个正数:");
double number =double.Parse(Console.ReadLine());
while (number<=0)
{
Console.Write("请输入一个正数:");
number =double.Parse(Console.ReadLine());
}
Console.WriteLine("你输入的数字是:"+number);
//do while语句代码如下:
double number;
do
{
Console.Write("请输入一个正数:");
number =double.parse(Console.ReadLin());
}
while(number<=0);
Console.WriteLine("你输入的数字是:"+number);
可见,这种情况下,do while语句较while语句稍微简洁些。
3、for循环
首先运行表达式1,判断循环条件是否为真,如果为真,则执行循环体,执行完后再运行表达式2,接着在判断循环条件。。。。直到循环条件为假才会结束循环。
其中,表达式1可以是任何代码,并且一定会且只会执行一次;表达式2可以是任何代码,每当循环体执行之后执行。
//代码格式
for(表达式1;循环条件;表达式2)
{
循环体
}
示例:在控制台中输出100个你好。
for(int i=0;i<100;i++)
{
Console.WriteLine("你好");
}
for循环是在C#语言中,运用最广泛、最多的一个循环。
4、foreach循环
从数组或集合中,依次取出每一项的数据,每取出一项数据,就把数据赋值给循环变量,每一次赋值后,运行一次循环体。
这个循环比较特殊,它只能用于遍历数组或集合,同时该循环为只读循环,不能在循环体中更改数组或集合。
//代码格式:
foreach(数据类型 变量 in 数组或集合)
{
循环体
}
示例:已知有一个int类型的List的集合,变量名为numbers,要求依次输出集合中的每一项。
//for循环表示如下:
for(int i=0;i<numbers,Length;i++)
{
Console.WriteLine(numbers[i]);
} //foreach表示如下:
foreach(int item in numbers)
{
Console.WriteLine(item);
}
虽然从代码上看,两者相差不多,但是foreach语句具有更高的运行效率。
C#语言中循环分类总结的更多相关文章
- C语言中不同类型的循环(Different types of loops in C)
C语言中有三种类型的循环:for,while,do-while. while循环先判断循环条件. while (condition) { //gets executed after condition ...
- C语言中简单的for循环和浮点型变量
浮点型变量:常数中带有小数点的叫做浮点型 以下用for循环写一个摄氏度和华氏度的转换的C程序 [见 http://www.linuxidc.com/Linux/2013-08/88513.htm ] ...
- 分类-回归树模型(CART)在R语言中的实现
分类-回归树模型(CART)在R语言中的实现 CART模型 ,即Classification And Regression Trees.它和一般回归分析类似,是用来对变量进行解释和预测的工具,也是数据 ...
- C语言中储存类别和内存管理
C语言中储存类别和内存管理 储存类别 C语言提供了多种储存类别供我们使用,并且对应的有对应的内存管理策略,在了解C中的储存类型前,我们先了解一下与储存类型相关的一些概念. 1. 基础概念 对象:不同于 ...
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- 在易语言中调用MS SQL SERVER数据库存储过程方法总结
Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...
- Coursera-Getting and Cleaning Data-week4-R语言中的正则表达式以及文本处理
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Thursday, January 29, 2015 补上第四周笔记,以及本次课程总结. 第四周 ...
- 2.C语言中的关键字
1.auto 修饰局部变量,编译器默认所有局部变量都是用auto来修饰的,所以在程序中很少见到. 2.static 它作用可大了,除了可以修饰变量,还可以修饰函数,修饰变量,改变其作用域和生命周期,修 ...
- C语言中两位ASCII码可以表示汉字
最近偶然有人问到这个相关字符编码的问题,所以百度了下参考了这两个资料,进行了简单分析. ******************************************************** ...
随机推荐
- 【179】IDL 读写 NetCDF 文件
NetCDF(network Common Data Form)由位于科罗拉多州波尔市的 Unidata 程序中心开发,主要应用于大气科学的研究.NetCDF 的数据模式具有简单性和灵活性的特点.Ne ...
- bzoj 3307: 雨天的尾巴【树剖lca+树上差分+线段树合并】
这居然是我第一次写线段树合并--所以我居然在合并的时候加点结果WAWAWAMLEMLEMLE--!ro的时候居然直接指到la就行-- 树上差分,每个点建一棵动态开点线段树,然后统计答案的时候合并即可 ...
- bzoj 4849: [Neerc2016]Mole Tunnels【模拟费用流】
参考:https://www.cnblogs.com/CQzhangyu/p/6952371.html 费用流很简单,考虑但是会T. 考虑费用流的本质,流一次需要要找一个能够从当前点到达的距离最小的点 ...
- ES6 我的总结学习
1 let 和 const let 的作用域与 const 命令相同:只在声明所在的块级作用域内有效.且不存在变量提升 . 1.1 let let 所声明的变量,可以改变. let a = 123 a ...
- yml文件教程
地址:http://www.ruanyifeng.com/blog/2016/07/yaml.html 原来三个横线(---)是用来区分多个文件的,像下面就是指定了两个配置. spring: appl ...
- 笔记——malloc、free、不同数据类型操作、.pyc文件、python安装第三方包、验证一个网站的所有链接有效性
C — malloc( ) and free( ) C 语言中使用malloc( )函数申请的内存空间,为什么一定要使用free释放? **malloc()函数功能:是从堆区申请一段连续的空间,函数结 ...
- [洛谷2839/国家集训队]middle
Description 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整.给你一个长度为n的序列s.回答Q个这样的询问:s的左端点在[a,b]之 ...
- 题解报告:hdu1994利息计算
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1994 Problem Description 为自行解决学费,chx勤工俭学收入10000元以1年定期 ...
- Robot Framework and Ride
Robot framework是诺西(NSN)开源的一套自动化测试工具,在通信设备自动化测试中很实用,它基于Python开发,主要模拟NMS网管配置数据到网元NODE,并读取配置看配置是否生效,ECI ...
- shell 2 解析
---- shell 3 /home/oracle/utility/macro/call_autopurge_arch.sh Description: Call purge archive log f ...