C#基础——条件语句、循环语句、goto语句

C#基础——条件语句和循环语句

1、条件语句

根据判断条件,执行不同的代码片段。

if…else

语法结构:
if(条件){
条件为true时执行的代码
} else {
条件为false时执行的代码
}


if (1 == 2) { //小括号里面是判断条件,返回的是一个布尔值Console.WriteLine("1等于2"); //如果判断条件为true,就执行这一行代码
} else {Console.WriteLine("1不等于2"); //如果判断条件为false,就执行这一行代码
}

if… else if … else

语法结构:
if(条件一){
条件一为true的时候执行的代码
} else if(条件二){
条件二为true的时候执行的代码
} else{
条件都为false的时候执行的代码
}

if (1 == 2) {Console.WriteLine("1等于2");
} else if (1 == 1) {Console.WriteLine("1等于1");
} else {Console.WriteLine("都不相等"); // 如果上面两个判断条件都为false则执行这行代码
}

三目运算符(三元表达式)

语法结构:
条件 ? (条件为true时候返回的值) : (条件为false时候返回的值)

int n = 10;
Console.WriteLine(n > 5 ? "大于" : "小于"); //大于
break 和 continue
  • break:终止循环
  • continue:跳出本次循环,继续执行下次循环

switch…case 是一种流程控制语句,根据不同的条件执行不同的操作。

switch语句的执行过程是,首先计算表达式的值,然后与每个case的值进行比较,如果匹配则执行相应的代码块,否则执行default操作(如果有)
default可有可无

语法结构:
switch (要被测试的表达式或变量)
{
case value1:
对应操作1
break;
case value2:
对应操作2
break;

default:
当所有case都不匹配时要执行的操作。
break;
}

int status = 500;
switch (status) { //小括号为循环条件case 200: {Console.WriteLine("网络请求成功");break;}case 400: {Console.WriteLine("客户端错误");break;}default: {// 变量的值和任一 case 都不相等,就执行 defaultConsole.WriteLine("传递的值没有找到对应的标记");break;}}
// 如果多个值需要对应的代码逻辑是一样的,就可以进行简写
int day = 16;
switch (day) {case 1:case 2:case 3:case 4:case 5: {Console.WriteLine("工作日");break;}case 6:case 7: {Console.WriteLine("休息日");break;}default: {Console.WriteLine("你是在火星吗?");break;}
}

2、循环语句

循环语句是把特定的代码块重复执行
循环分为两种:
根据确定的次数执行循环
根据特定的结束条件执行循环

for循环

  • for循环是一种常用的迭代控制结构,用于重复执行一段代码固定次数或满足特定条件的情况

语法结构:
for (初始化表达式; 循环条件; 迭代表达式)
{
// 循环体代码
}
初始化表达式:在循环开始之前执行的一次性初始化操作。通常用于声明并初始化循环计数器。
循环条件:每次迭代开始时,判断循环是否继续执行的条件。只有当循环条件为true时,循环体才会执行;否则循环终止。
迭代表达式:在每次迭代结束后执行的操作。通常用于更新循环计数器或变量的值。

for (int i = 1; i <= 5; i++)
{Console.WriteLine(i); //1 2 3 4 5
}

while 循环

  • while循环是一种常用的迭代控制结构,用于重复执行一段代码,直到满足特定条件为止

语法结构:
while (循环条件)
{
// 循环体代码
}
循环条件:在每次迭代开始时判断是否继续执行循环的条件。只有当循环条件为真(非零)时,循环体才会执行;否则循环终止。

int i = 1;
while (i <= 5)
{Console.WriteLine(i); //1 2 3 4 5i++;
}

do while 循环

  • do while 循环是一种先执行循环体,然后检查条件是否满足的循环结构。

语法结构:
do
{
// 循环体代码
} while (循环条件);
使用do while循环时,程序会首先执行一次循环体,然后检查条件。如果条件为真,则会继续执行循环体,直到条件为假才会结束循环。因此,do while循环保证至少会执行一次循环体。

int i = 0;
do
{Console.WriteLine(i); //0 1 2 3 4i++;
} while (i < 5);

使用循环语句的时候一定要注意循环条件,否则会变成死循环。

3、goto语句

goto 语句是一种控制流语句,它允许跳转到程序中的另一个标记处。

  // 计算1-100之间的累加和 for whileint isNum = 0;int isSum = 0;
sum: //sum就是标识符的名称,标识符可以是任意名称,但必须位于当前方法内。isNum++;isSum += isNum;if (isNum < 100) {goto sum;}Console.WriteLine(isSum);

注意:使用 goto 语句可以使代码更加简洁和易于阅读。但是过多地使用 goto 语句也会使代码变得难以理解和调试,因此应该谨慎使用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SAR舰船检测数据集总结

Ships in Satellite Imagery 该数据集由从加利福尼亚旧金山湾和圣佩德罗湾地区收集的 Planet 卫星图像中提取的图像芯片组成。它包括 4000 张 80x80 RGB 图像&#xff0c;标有“船”或“无船”分类。图像芯片源自PlanetScope全画幅视觉场景产品&#xff0c;经正射校正至3米像素…

《ThreadLocal使用与学习总结:2023-12-15》由浅入深全面解析ThreadLocal

由浅入深全面解析ThreadLocal 目录 由浅入深全面解析ThreadLocal简介基本使用ThreadLocal与synchronized的区别ThreadLocal现在的设计&#xff08;JDK1.8&#xff09;ThreadLocal核心方法源码分析ThreadLocalMap源码分析弱引用与内存泄露&#xff08;内存泄漏和弱引用没有直接关…

traceroute命令详解

traceroute命令详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 深入解析Traceroute命令&#xff1a;揭秘网络世界的奥秘 在网络世界中&#xff0c;信息的传递…

在ECS优化的AWS Linux修改ECS配置后ECS Agent服务无法启动

文章目录 小结问题解决参考 小结 在ECS优化的AWS Linux修改ECS配置后ECS Agent服务无法启动&#xff0c;进行了解决。 问题解决 在ECS优化的AWS Linux修改ECS配置ecs.config&#xff0c; 如下&#xff1a; [ec2-userip-10-0-3-241 ~]$ cat /etc/ecs/ecs.config ECS_CLUSTER…

力扣376周赛

力扣第376场周赛 找出缺失和重复的数字 map模拟 class Solution { public:vector<int> findMissingAndRepeatedValues(vector<vector<int>>& grid) {int n grid.size() , m grid[0].size();map<int,int>mi;for(int i 0 ; i < n ; i ){for…

网络 / day02 作业

1. TCP和UDP通信模型 1.1 TCP server #include <myhead.h>#define PORT 9999 #define IP "192.168.250.100"int main(int argc, const char *argv[]) {//1. create socketint sfd -1;if( (sfd socket(AF_INET, SOCK_STREAM, 0 ))-1 ){perror("socke…

【华为OD题库-091】选举拉票-java

题目 现在你要竞选一个县的县长。你去对每一个选民进行了调查。你已经知道每一个人要选的人是谁&#xff0c;以及要花多少钱才能让这个人选你。现在你想要花最少的钱使得你当上县长。你当选的条件是你的票数比任何一个其它候选人的多(严格的多&#xff0c;不能和他们中最多的相…

使用Jemeter对HTTP接口压测

我们不应该仅仅局限于某一种工具&#xff0c;性能测试能使用的工具非常多&#xff0c;选择适合的就是最好的。笔者已经使用Loadrunner进行多年的项目性能测试实战经验&#xff0c;也算略有小成&#xff0c;任何性能测试&#xff08;如压力测试、负载测试、疲劳强度测试等&#…

华为OD机试 - 文件缓存系统(Java JS Python)

题目描述 请设计一个文件缓存系统,该文件缓存系统可以指定缓存的最大值(单位为字节)。 文件缓存系统有两种操作: 存储文件(put)读取文件(get)操作命令为: put fileName fileSizeget fileName存储文件是把文件放入文件缓存系统中; 读取文件是从文件缓存系统中访问已…

性能测试之Artillery(示例及指标)

官方文档&#xff1a;https://www.artillery.io/docs/get-started/first-test PS:文档挺详细&#xff0c;教程比较全 示例 config:http:extendedMetrics: truetarget: http://127.0.0.1:8005phases:- duration: 10 # 持续时间arrivalRate: 10 # 每秒创建10个用户rampTo: 100 …

SwitchHosts - 管理、切换多个 hosts 方案的工具

一、hosts文件 简单的说&#xff0c;hosts文件是用于本地dns服务的&#xff0c;采用ip 域名的格式写在一个文本文件当中&#xff0c;Hosts是一个没有扩展名的系统文件&#xff0c;可以用记事本等工具打开&#xff0c;其作用就是将一些常用的网址域名与其对应的IP地址建立一个关…

Tor网络原理详解

引入 匿名通信是一种通过采用数据转发、内容加密、流量混淆等措施来隐藏通信内容及关系的隐私保护技术。为了提高通信的匿名性&#xff0c;这些数据转发链路通常由多跳加密代理服务节点构成&#xff0c;而所有这些节点即构成了匿名通信系统&#xff08;或称匿名通信网络&#…

Linux的双网口(内网+外网)的IP报文转发

一、背景&#xff1a; PC1的主机与PC2的主机不是同一个网段&#xff0c;中间经过一个双网口Linux设备中转&#xff0c;以实现PC1和PC2的数据报文交互。 二、实物&#xff1a; PC1主机的IP地址&#xff1a;192.178.111.111 PC2主机的IP地址&#xff1a; 192.168.130.32 …

在排序数组中查找元素的第一个和最后一个位置(Java详解)

一、题目描述 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示…

Electron 安装不成功

1、在项目根目录下新建.npmrc文件 在文件中写入 ELECTRON_MIRRORhttp://npm.taobao.org/mirrors/electron/2、删除node_modules&#xff0c;重新执行安装命令

OpenTiny Vue 组件库3.12.0 发布:文档大优化!增加水印和二维码两个新组件

非常高兴跟大家宣布&#xff0c;2023年11月30日&#xff0c;OpenTiny Vue 发布了 v3.12.0 &#x1f389;。 OpenTiny 每次大版本发布&#xff0c;都会给大家带来一些实用的新特性&#xff0c;10.24 我们发布了 v3.11.0 版本&#xff0c;增加了富文本、ColorPicker 等4个新组件…

.QT信号槽,如何同步异步?

同步 --- 直连 DirectConnection&#xff08;直连方式&#xff09; 异步 --- 等待连 QueuedConnection&#xff08;排队方式&#xff09; 通常使用的connect&#xff0c;只用了四个参数&#xff0c;实际上最后一个参数使用的是Qt::AutoConnection类型。但如果信号和槽函数是在…

linux 内核同步互斥技术之读写自旋锁

读写自旋锁 读写自旋锁&#xff08;通常简称读写锁&#xff09;是对自旋锁的改进&#xff0c;区分读者和写者&#xff0c;允许多个读者同时进入临界区&#xff0c;读者和写者互斥&#xff0c;写者和写者互斥。 如果读者占有读锁&#xff0c;写者申请写锁的时候自旋等待。如果写…

数据库通用语言DQL-MySQL及语法练习 建议码住,多看几遍!!!!!!!

DQL&#xff08;数据查询语言&#xff09; 语法&#xff1a; SELECT字段列表 FROM表名字段 WHERE条件列表 GROUP BY分组字段列表 HAVING分组后的条件列表 ORDER BY排序字段列表 LIMIT分页参数基础查询 查询多个字段&#xff1a; SELECT 字段1, 字段2, 字段3, ... FROM 表名;…

linux下查看进程资源ulimit

ulimit介绍与使用 ulimit命令用于查看和修改进程的资源限制。下面是ulimit命令的使用方法&#xff1a; 查看当前资源限制&#xff1a; ulimit -a 这将显示当前进程的所有资源限制&#xff0c;包括软限制和硬限制。查看或设置单个资源限制&#xff1a; ulimit -<option> …