当前位置: 首页 > news >正文

C#——循环(while循环和do-while循环)

一般情况下,知道循环几次采用for循环,如果不知道循环要执行几次,那么 while 循环或 do-while 循环就是比较好的处理方式。

目录

一、while循环

二、do-while循环

三、中断语句break和跳出本次执行循环continue


一、while循环

while(条件表达式)
{条件表达式成立(true)时要执行的语句;
}

        进入 while 循环时,必须先检查条件表达式,如果符合,就会执行循环体内的语句:如果不符合,就会跳离循环。因此循环内的某一段语句必须以改变条件表达式的值来结束循环的执行,否则就会形成无限循环。

二、do-while循环

        无论是 while 循环还是 do/while 循环都是用来处理未知循环执行次数的程序。while 循环先进行条件运算,再进入循环体执行语句;do/while 循环恰好相反,先执行循环体内的语句,再进行条件运算。对于 do/while 循环来说,循环体内的语句至少会被执行一次;while 循环在条件运算不符合的情况下不会进入循环体来执行语句。

do/while 循环语法如下:

do {
//程序语句;
}while(条件运算);

        不要忘记条件运算后要有“:”结束循环。那么什么情况下会使用 do/while 循环呢?通常是询问用户是否要让程序继续执行时。下面还是以“1+2+3+...+10”为例来认识一下 do/while循环,语句如下:

int counter=1,sum=0://counter是计数器
do {sum += counter;//sum 存储数值累加的结果counter++;//控制运算:让计数器累加
}while(counter<= 10);//条件表达式

        表示会进入循环体内,运行程序语句后再进行条件运算,若条件为true 则继续执行,不断重复,直到 while 语句的条件运算为 fàalse 才会离开循环。它的流程控制图如图 4-25 所示。

语句解析:

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;//User defined
using static System.Console;//导入静态类namespace while_dowhile
{class Program{static void Main(string[] args){//while循环int sum = 0;int counter = 1;//计数器while (counter <= 10){sum += 1;counter++;//将计数累加}Console.WriteLine("累加结果:{0}", sum);//dowhile循环int counter2 = 1,sum2 = 0;//counter是计数器do {sum2 += 1;//sum存储数值累加的结果counter2++;//控制运算:让计数器累加} while (counter2 <= 10);//条件表达式Console.WriteLine("累加结果:{0}", sum2);//while循环 + break中断+continueint sum3 = 0;int num1 = 0;int counter3 = 1;//计数器while (counter3 <= 10){sum3 += 1;counter3++;//将计数累加if (counter3 % 2 == 0)//找出奇数{num1 += 1;WriteLine("执行continue");continue;//继续循环}if (sum3>7){WriteLine("sum3>7,中断");break;}}Console.WriteLine("累加结果:{0}", sum3);Console.WriteLine("执行continue{0}", num1);ReadKey();}}
}

三、中断语句break和跳出本次执行循环continue

        一般来说,break 语句用来中断循环的执行,continue 语句用来暂停当前执行的语句,它会回到当前语句的上一个区块,让程序继续执行下去。因此,可以在for、while、do...while循环中的程序语句中加入 break或 continue 语句,使用一个简单的范例来说明这两者之间的差异。

代码:

            //while循环 + break中断+continueint sum3 = 0;int num1 = 0;int counter3 = 1;//计数器while (counter3 <= 10){sum3 += 1;counter3++;//将计数累加if (counter3 % 2 == 0)//找出奇数{num1 += 1;WriteLine("执行continue");continue;//继续循环}if (sum3>7){WriteLine("sum3>7,中断");break;}}Console.WriteLine("累加结果:{0}", sum3);Console.WriteLine("执行continue{0}", num1);

http://www.lryc.cn/news/589765.html

相关文章:

  • Java 大视界 -- 基于 Java 的大数据分布式存储在云计算数据中心数据管理与调度中的应用(348)
  • docker run elasticsearch 报错
  • 征服ZYNQ双核潜能:OCM内存精妙分配与免锁通信实战
  • WPF 加载和显示 GIF 图片的完整指南
  • 【游戏引擎之路】登神长阶(十七):Humanoid动画——长风破浪会有时,直挂云帆济沧海
  • Arduino土壤湿度检测
  • 新手向:自动化图片格式转换工具
  • 【游戏引擎之路】登神长阶(十八):3天制作Galgame引擎《Galplayer》——无敌之道心
  • 玩转Docker | 使用Docker部署bender个人导航页工具
  • my2sql-binlog闪回测试
  • 设计一款用于捕捉动态产品视频的摄像机器人
  • 记录一道sql面试题3
  • EVA series系列(上)
  • 【MySQL基础】MySQL事务详解:原理、特性与实战应用
  • 网络安全(初级)(XSS-labs 1-8)
  • JWT基础详解
  • Linux内核设计与实现 - 第2章 内核开发的准备
  • Python包开发实战:从零构建你的第一个Python包
  • 《透视定轴:CSS 3D魔方中视觉层级的秩序法则》
  • 使用CodeQL挖掘Spring中的大量赋值漏洞
  • PLC-BMS电力载波通信技术深度解析:智能电网与储能系统的融合创新
  • Python 测试全景:单元测试、集成测试与端到端测试实战指南
  • NDVI、噪声和细微差别:使用卫星时间序列进行土地覆盖分类
  • 【源力觉醒 创作者计划】百度携文心 4.5 入局,开源大模型市场再添一员猛将,与 Qwen3 对比如何?
  • 列车调度(vector)
  • Spring Boot 缓存 与 Redis
  • XXE漏洞2-漏洞原理及检测方式(超详细)
  • HandlerIntercepter,JWT和杂项知识点
  • LeetCode Hot 100 二叉树的最大深度
  • 【Java】【力扣】94.二叉树的中序遍历