【C# 基础精讲】循环语句:for、while、do-while

在这里插入图片描述

循环语句是C#编程中用于重复执行一段代码块的关键结构。C#支持forwhiledo-while三种常见的循环语句,它们允许根据条件来控制代码块的重复执行。在本文中,我们将详细介绍这三种循环语句的语法和使用方法。

请添加图片描述

for循环

for循环是一种常见的循环结构,用于在给定条件下重复执行代码块一定的次数。它的一般语法如下:

for (初始化表达式; 循环条件; 迭代表达式)
{
    // 循环体,重复执行的代码块
}

初始化表达式用于初始化循环控制变量,通常是一个赋值表达式。循环条件是一个返回布尔值(truefalse)的表达式,当为true时,继续执行循环体;当为false时,退出循环。迭代表达式用于在每次循环结束时更新循环控制变量的值。

例如,我们可以使用for循环来输出从1到10的整数:

for (int i = 1; i <= 10; i++)
{
    Console.WriteLine(i);
}

在这个例子中,i是循环控制变量,初始值为1,每次循环结束后,i的值增加1,当i的值大于10时,循环结束。

while循环

while循环用于在给定条件为真(true)的情况下,重复执行代码块。它的一般语法如下:

while (循环条件)
{
    // 循环体,重复执行的代码块
}

循环条件是一个返回布尔值(truefalse)的表达式,当为true时,执行循环体;当为false时,退出循环。

例如,我们可以使用while循环来输出从1到5的整数:

int i = 1;

while (i <= 5)
{
    Console.WriteLine(i);
    i++;
}

在这个例子中,循环开始时,i的值为1,当i的值小于等于5时,输出i的值,并将i的值增加1,直到i的值大于5时,循环结束。

do-while循环

do-while循环是一种后测试循环,它先执行循环体中的代码块,然后再检查循环条件。如果循环条件为真(true),则继续执行循环,否则退出循环。do-while循环保证循环体至少会执行一次。

它的一般语法如下:

do
{
    // 循环体,重复执行的代码块
}
while (循环条件);

循环条件是一个返回布尔值(truefalse)的表达式,当为true时,继续执行循环体;当为false时,退出循环。

例如,我们可以使用do-while循环来输出从1到5的整数:

int i = 1;

do
{
    Console.WriteLine(i);
    i++;
}
while (i <= 5);

在这个例子中,循环开始时,i的值为1,循环体先输出i的值,并将i的值增加1,然后再检查i的值是否小于等于5,由于i的值小于等于5,所以继续执行循环体,直到i的值大于5时,退出循环。

循环控制语句:break和continue

在循环体中,我们还可以使用breakcontinue语句来控制循环的行为。

  • break语句用于立即终止循环,并跳出循环体。
  • continue语句用于跳过当前

循环的剩余代码,并开始下一次循环迭代。

这些循环控制语句通常与条件语句结合使用,以满足更复杂的循环逻辑。

for (int i = 1; i <= 10; i++)
{
    if (i == 5)
    {
        break; // 当 i 等于 5 时,终止循环
    }

    if (i % 2 == 0)
    {
        continue; // 当 i 是偶数时,跳过后面的代码,开始下一次循环迭代
    }

    Console.WriteLine(i);
}

在上述例子中,当i的值等于5时,break语句终止循环。而在i是偶数的情况下,continue语句跳过后面的代码,开始下一次循环迭代。

总结

循环语句是C#编程中非常重要的控制结构,它们允许根据条件来重复执行一段代码块。forwhiledo-while是最常见的循环语句,每种循环语句在不同场景下有其特定的应用。通过合理使用循环语句,我们可以编写出更加灵活和高效的C#程序。希望本文对您理解C#中的循环语句有所帮助,祝您在C#编程的学习过程中取得更多进展!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/65860.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

每天一道leetcode:剑指 Offer 32 - III. 从上到下打印二叉树 III(中等广度优先遍历)

今日份题目&#xff1a; 请实现一个函数按照之字形顺序打印二叉树&#xff0c;即第一行按照从左到右的顺序打印&#xff0c;第二层按照从右到左的顺序打印&#xff0c;第三行再按照从左到右的顺序打印&#xff0c;其他行以此类推。 示例 给定二叉树: [3,9,20,null,null,15,7…

【云原生】Kubernetes节点亲和性分配 Pod

目录 1 给节点添加标签 2 根据选择节点标签指派 pod 到指定节点[nodeSelector] 3 根据节点名称指派 pod 到指定节点[nodeName] 4 根据 亲和性和反亲和性 指派 pod 到指定节点 5 节点亲和性权重 6 pod 间亲和性和反亲和性及权重 7 污点和容忍度 8 Pod 拓扑分布约束 官方…

python几岁可以学零基础,python多大的孩子可以学

大家好&#xff0c;小编为大家解答多大的孩子可以学python的问题。很多人还不知道学python多大年龄可以学&#xff0c;现在让我们一起来看看吧&#xff01; python编程是现在很多孩子接触编程的好选择&#xff0c;它能够给孩子带来容易入门的效果。那么&#xff0c;python编程少…

如何识别手机是否有灵动岛(dynamic island)

如何识别手机是否有灵动岛&#xff08;dynamic island&#xff09; 灵动岛是苹果2022年9月推出的iPhone 14 Pro、iPhone 14 Pro Max首次出现&#xff0c;操作系统最低是iOS16.0。带灵动岛的手机在竖屏时顶部工具栏大于等于51像素。 #define isHaveDynamicIsland ({ BOOL isH…

docker 安装hive

记录一下使用docker快速搭建部署hive环境 目录 写在前面 步骤 安装docker 安装docker安装docker-compose配置docker国内镜像源&#xff08;可选&#xff09; 安装git & 配置github部署Hive docker-hive开始部署 使用Hive命令行收尾工作 安装vi、lrzsz关闭相关命令 END…

windows下以指定用户访问SMB服务器进行读写

一 概述 最近遇到一个问题&#xff0c;linux 的 smb服务器开启匿名访问&#xff0c;windows访问linux文件夹不需要用户名密码就可以进去使用&#xff0c;但是存在一个问题&#xff0c;ssh连接到linux 后修改的文件&#xff0c;在windows已smb方式下打开某个文件修改 是没有权限…

一周 AIGC 丨苹果下架多款 AIGC 应用,阿里云开源通义千问 70 亿参数模型

多个 AIGC 应用在苹果应用商店下架&#xff0c;包含数据采集和使用不够规范等问题。阿里云开源通义千问 70 亿参数模型&#xff0c;包括通用模型 Qwen-7 B 和对话模型 Qwen-7 B-Chat。腾讯混元大模型开始应用内测&#xff0c;内部多个业务线接入测试。百度智能云“千帆大模型平…

重试框架入门:Spring-RetryGuava-Retry

前言 在日常工作中&#xff0c;随着业务日渐庞大&#xff0c;不可避免的涉及到调用远程服务&#xff0c;但是远程服务的健壮性和网络稳定性都是不可控因素&#xff0c;因此&#xff0c;我们需要考虑合适的重试机制去处理这些问题&#xff0c;最基础的方式就是手动重试&#xf…

idea模板的使用(配置xml文件模板)

1. 问题的引出 我们在日常项目中可以发现&#xff0c;sql映射文件和mybatis主配置文件&#xff0c;以及application.yml文件中有很多固定不变的内容&#xff0c;为了方面使用&#xff0c;所以可以把这些xml文件设置为模板 2. 创建模板的步骤 按照图片一步一步进行即可 点击…

【Spring专题】手写简易Spring容器过程分析

前置知识 《【Spring专题】Spring底层核心原理解析》 思路整理 我们在上一节《【Spring专题】Spring底层核心原理解析》课里面有简单分析过一个Spring容器的一般流程&#xff0c;所以&#xff0c;本节课我们这里尝试写一下简易的Spring容器。 手写源码示例 一、手写前的准…

Sentinel整合Spring Cloud Gateway、Zuul详解

Sentinel 支持对 Spring Cloud Gateway、Zuul 等主流的 API Gateway 进行限流。 Sentinel 1.6.0 引入了 Sentinel API Gateway Adapter Common 模块&#xff0c;此模块中包含网关限流的规则和自定义 API 的实体和管理逻辑&#xff1a; GatewayFlowRule&#xff1a;网关限流规则…

04-8_Qt 5.9 C++开发指南_QTableWidget的使用

文章目录 1. QTableWidget概述2. 源码2.1 可视化UI设计2.2 程序框架2.3 qwintspindelegate.h2.4 qwintspindelegate.cpp2.5 mainwindow.h2.6 mainwindow.cpp 1. QTableWidget概述 QTableWidget是Qt中的表格组件类。在窗体上放置一个QTableWidget 组件后,可以在 PropertyEditor…

ELK 企业级日志分析系统(二)

目录 ELK Kiabana 部署&#xff08;在 Node1 节点上操作&#xff09; 1&#xff0e;安装 Kiabana 2&#xff0e;设置 Kibana 的主配置文件 3&#xff0e;启动 Kibana 服务 4&#xff0e;验证 Kibana 5&#xff0e;将 Apache 服务器的日志&#xff08;访问的、错误的&#x…

明年,HarmonyOS不再兼容Android应用!

2023年华为开发者大会&#xff0c;不知道各位老铁们是否观看了&#xff0c;一个震撼的消息就是&#xff0c;首次公开了HarmonyOS NEXT的概念&#xff0c;简而言之就是&#xff0c;这是一款专为开发者打造的预览版操作系统&#xff0c;旨在提供"纯正鸿蒙操作系统"的体…

throw和throws的区别

在Java中&#xff0c;throw和throws是两个关键字&#xff0c;用于异常处理。它们具有以下区别&#xff1a; 1. throw关键字&#xff1a; - throw关键字用于主动抛出异常。当程序执行到throw语句时&#xff0c;会创建一个异常对象并将其抛出。 - throw语句通常在方法内部…

把大模型装进手机,分几步?

点击关注 文 | 姚 悦 编 | 王一粟 大模型“跑”进手机&#xff0c;AI的战火已经从“云端”烧至“移动终端”。 “进入AI时代&#xff0c;华为盘古大模型将会来助力鸿蒙生态。”8月4日&#xff0c;华为常务董事、终端BG CEO、智能汽车解决方案BU CEO 余承东介绍&#xff0c…

Drools用户手册翻译——第四章 Drools规则引擎(十三)复杂事件处理(CEP)会话时钟,事件流和切入点

甩锅声明&#xff1a;本人英语一般&#xff0c;翻译只是为了做个笔记&#xff0c;所以有翻译错误的地方&#xff0c;错就错了&#xff0c;如果你想给我纠正&#xff0c;就给我留言&#xff0c;我会改过来&#xff0c;如果懒得理我&#xff0c;就直接划过即可。 目录 会话时钟…

【Paper Reading】DETR:End-to-End Object Detection with Transformers

背景 Transformer已经在NLP领域大展拳脚&#xff0c;逐步替代了LSTM/GRU等相关的Recurrent Neural Networks&#xff0c;相比于传统的RNN&#xff0c;Transformer主要具有以下几点优势 可解决长时序依赖问题&#xff0c;因为Transformer在计算attention的时候是在全局维度进行…

《论文阅读》通过生成会话模型的迁移学习会话中的情感识别

《论文阅读》通过生成会话模型的迁移学习会话中的情感识别 前言简介模型结构Source TaskTarget Task损失函数前言 你是否也对于理解论文存在困惑? 你是否也像我之前搜索论文解读,得到只是中文翻译的解读后感到失望? 小白如何从零读懂论文?和我一起来探索吧! 今天为大家…

LangChain源码逐行解密之LLMs(二)

LangChain源码逐行解密之LLMs(二) 18.3 base.py源码逐行剖析 现在我们要聚焦于源代码中的大语言模型部分。如图18-3所示,LangChain提供了许多语言模型的选择。 Gavin大咖微信:NLP_Matrix_Space 图18- 3 LangChain的llms目录 如图18-4所示,整个LangChain的模块化设计非常出…