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

C#入门学习记录(五)轻松掌握条件分支与循环语句

前言

        编程就像给计算机写一份"烹饪指南",而条件分支循环就是这份指南中的关键指令。想象你要教机器人做蛋糕:

  • 条件分支:"如果没有鸡蛋了,就去超市买"(做决定)
  • 循环:"重复搅拌面糊100次"(重复动作)

本文会用简单易懂的语言和比喻,带你掌握C#中这两个核心概念。新手友好,放心食用!

一、条件分支:让程序学会"做选择" 

1. if-else语句(基础版选择器)

if (今天下雨)
{
    Console.WriteLine("带伞出门");
}
else 
{
    Console.WriteLine("开心晒太阳");
}

像地铁的闸机,满足条件(刷卡成功)开闸放行,否则(刷卡失败)拦下你。

  • 代码从上往下执行,一旦满足某个条件,​跳过其他所有分支
  • 多个条件时用else if
if (成绩 >= 90)       // 先判断最严格的条件
{
    Console.WriteLine("A");
}
else if (成绩 >= 60)  // 前一个不满足才会到这里
{
    Console.WriteLine("及格");
}
else                 // 所有条件都不满足
{
    Console.WriteLine("加油!");
}

实战示例:

int score = 85;

// 示例1:简单条件
if (score >= 60) // true
{
    Console.WriteLine("及格");
}
else
{
    Console.WriteLine("不及格");
}

// 示例2:多重条件
if (score >= 90)          // false
{
    Console.WriteLine("优秀");
}
else if (score >= 80)     // true
{
    Console.WriteLine("良好");
}
else                      // 跳过
{
    Console.WriteLine("一般");
}

2. switch语句(多选项选择器)

switch(要判断的变量)   // 👉 这里是"被检测对象"
{
    case 值1:         // 👉 像储物柜的编号标签
        // 代码块1
        break;        // 🚨 必须存在的出口
    case 值2:
        // 代码块2
        break;
    default:          // 🔑 万能钥匙(其他所有情况)
        // 默认代码
        break;
}
string weather = "大雨";

// 传统写法
switch (weather)
{
    case "晴":   // false
        Console.WriteLine("去野餐");
        break;
    case "小雨": // false
        Console.WriteLine("带伞出门");
        break;
    case "大雨": // true
        Console.WriteLine("宅家睡觉");
        break;
    default:     // 未触发
        Console.WriteLine("正常上班");
        break;
}

// 类型匹配(C# 7.0+)
object data = 150;
switch (data)
{
    case int num when num > 100: // true(满足类型int且值>100)
        Console.WriteLine("超额完成");
        break;
    case string text:            // false(类型不匹配)
        Console.WriteLine("文字信息");
        break;
}

像老式电话转盘,转到对应号码(case)才接通。

  • 每个case必须用breakreturn结尾(防止"漏电"执行下一个case)
switch(未知物体)
{
    case int x:   // 如果是整数
        Console.WriteLine($"数字:{x}");
        break;
    case string s:// 如果是字符串
        Console.WriteLine($"文字:{s}");
        break;
}

📌 必须牢记的规则

        1.​冒号的位置
        每个case后面必须跟英文冒号:(中文冒号会报错!)

case 10:  // ✅ 正确
case 10: // ❌ 错误(中文冒号)

​        2.break的重要性
        每个非空case块必须用breakreturn结束(防止"穿透"执行下一个case)所以这里如果你的两个case执行的代码是一样的话,你就可以尝试贯穿!

case 1:
    Console.WriteLine("One");
    // ❌ 这里缺少break会导致编译错误

        3.匹配机制

传统用法:精确匹配常量值(像精确查找字典页)

switch(考试等级)
{
    case 'A':  // 精确匹配字符A
        GivePrize();
        break;
    case 'B':
        Encourage();
        break;
}

现代用法:类型匹配+条件过滤(C# 7.0+)

switch(未知物体)
{
    case int num when num > 100:  // 先匹配类型,再加条件
        Console.WriteLine("大数字");
        break;
    case string text when text.Length > 5:
        Console.WriteLine("长文本");
        break;
}

要素

说明类比
switch(变量)被检测的"嫌疑人"机场安检的行李
case 值:嫌疑人的"特征标签"行李X光显示的金属物品
break结束检查的"通关口令"安检员放行的OK手势
when条件更精细的"特征识别"开箱检查的详细流程
default"其他所有未知物品"处理通道无标签行李的特殊处理通道

二、循环语句:让程序学会"重复劳动" 

        1. for循环(精确控制次数)

// 打印1~5的数字
for (int i=1; i<=5; i++) 
{
    Console.WriteLine(i);
}

执行顺序
① int i=1 → ② i<=5 → ③ 执行代码 → ④ i++ → 重复②③④...

        2. foreach循环(遍历集合)(迭代器)

string[] 水果 = {"苹果", "香蕉", "橘子"};
foreach (var 单个水果 in 水果)
{
    Console.WriteLine(单个水果);
}

string[] fruits = { "苹果", "香蕉", "橘子" };
foreach (var fruit in fruits) // 遍历3个元素
{
    Console.Write(fruit + " "); 
}
// 输出:苹果 香蕉 橘子

禁忌:循环中不能增删集合元素!否则会报错(像边吃糖果边往盒子里放新糖)

        3. while/do-while(条件循环)

// while:先检查条件再执行
while (水没烧开) 
{
    继续加热();
}

// do-while:至少执行一次
do {
    敲门();
} while (没人回应);

int count = 3;
while (count > 0) // 循环3次
{
    Console.Write(count + " ");
    count--; 
}
// 输出:3 2 1 
// 当count=0时条件 → false

int x = 0;
do 
{
    Console.Write(x + " ");
    x++;
} while (x < 0); // 条件初始为false
// 输出:0

区别:while像"先看红灯再停车",do-while像"先按门铃再等回应"

三、循环控制双子星:break和continue

1. break:立刻停止循环

for (int i=1; i<=10; i++)
{
    if (i == 5) 
    {
        break; // 当i=5时,直接结束整个循环
    }
    Console.WriteLine(i);
}
// 输出:1 2 3 4

像煮面时突然发现糊锅了,立即关火停止。

2. continue:跳过本次循环

for (int i=1; i<=5; i++)
{
    if (i == 3) 
    {
        continue; // 跳过i=3这次循环
    }
    Console.WriteLine(i);
}
// 输出:1 2 4 5

对比记忆

breakcontinue
作用范围整个循环当前这次循环
常见场景找到目标后提前退出过滤特定条件数据

结语

掌握条件分支和循环,你就拿到了编写"智能程序"的钥匙。记住两个核心思想:

  1. 条件分支:让程序在不同情况下做出不同反应
  2. 循环:让机器不厌其烦地处理重复工作

 一起加油!


http://www.kler.cn/a/594330.html

相关文章:

  • uniapp 实现的下拉菜单组件
  • 第四课:Python数组与链表(动态数据结构的深度探索)
  • 单台openEuler24.03 LTS下的开源大数据环境搭建
  • Spring 如何创建 Bean 实例的?
  • 智慧楼宇:科技编织的未来生活图景
  • 服务器数据恢复—服务器raid故障导致上层分区不可用的数据恢复案例
  • 下一代代币技术白皮书:合规化智能合约与零知识证明隐私协议
  • Android 和 Linux 之间关联和区别
  • FPGA 以太网通信(一)
  • AI鸟类识别技术革新生态监测:快瞳科技如何用“智慧之眼”守护自然?
  • 自定义Spark启动的metastore_db和derby.log生成路径
  • Java 项目 IntelliJ IDEA 多环境配置详解
  • 第58天:Web攻防-SQL注入二次攻击堆叠执行SQLMAPTamper编写指纹修改分析调试
  • 时间语义与窗口操作:Flink 流式计算的核心逻辑
  • 学习笔记 ASP.NET Core Web API 8.0部署到iis
  • 【软件工程】01_软件工程的概述
  • LCCI ESG 中英联合认证国际分析师适合的岗位
  • Cursor/windsurf+MCP+Blender自动建模还有多远
  • 【秣厉科技】LabVIEW工具包——OpenCV 教程(6):dnn实战之YOLO模型推理
  • react路由5和6新增及区别