当前位置: 首页 > 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.dtcms.com/a/282709.html

相关文章:

  • Python 与JA3 库的应用
  • 在 Linux 系统中实现 Spring Boot 程序自动启动的最佳实践
  • STM32 GPIO
  • 【深度学习】神经网络-part2
  • 架构设计之计算高性能——单体服务器高性能
  • 算法训练营DAY34 第九章 动态规划part02
  • 告别定位盲区!低成本组合导航系统ER-GNSS/MINS-05的实战能力
  • 不安全的 SSL:主机名验证功能被禁用与修复方案
  • WP Force SSL Pro – HTTPS SSL Redirect Boost Your Website‘s Trust in Minutes!
  • 使用token调用Spring OAuth2 Resource Server接口错误 insufficient_scope
  • 服务攻防-Java组件安全数据处理FastJsonJackSonXStream自动BP插件CVE漏洞
  • 多级缓存架构与热点探测系统核心技术解析
  • 2025年C++后端开发高频面试题深度解析:线程安全LRU缓存设计与实现
  • 免费MCP服务:Excel CSV 转 JSON MCP by WTSolutions 文档
  • C++:现代 C++ 编程基石,C++11核心特性解析与实践
  • 软件开发:重塑商贸物流行业格局的核心力量
  • Zabbix监控K8S的PV信息详细教程!
  • AI产品经理面试宝典第25天:AI+机器人产品设计与技术落地面试题与答法
  • Xsens人形机器人拟人动作AI训练,提升机器人工作精度与效率
  • MySQL高并发高可用架构:分库分表实战与ShardingSphere中间件应用
  • JavaScript语言 Error对象及错误处理机制 原生错误类型
  • 芯谷科技--FET偏置控制器,为卫星通信系统提供稳定偏置D8400
  • 大模型智能体(Agent)工程化:AutoGen企业级落地方案全解析
  • exports使用 package.json字段控制如何访问你的 npm 包
  • A13 GMS应用预装
  • 微服务引擎 MSE 及云原生 API 网关 2025 年 5 月产品动态
  • Git 提交信息(Commit Message)的规范校验,husky + commitlint
  • Java全栈工程师面试实录:从电商场景到AIGC的深度技术挑战
  • 手动搭建PHP环境:步步为营,解锁Web开发
  • 【尝试】基于openai-whisper进行语音转文字windows版本