一、核心基础认知

1. 条件判断的核心:通过 if 关键字判断一个“返回true/false”的条件,条件成立则执行对应代码块,不成立则跳过或执行兜底代码。

2. 语法基础:

  • 条件部分:写在 () 内,必须是能返回 bool 类型(true/false)的表达式(如 >、<、==、!=、逻辑与&&、逻辑或|| 等)。

  • 代码块:用 {} 包裹,条件成立时执行的代码,若只有一行代码,{} 可省略(不推荐,影响可读性)。

二、分支语句类型

1、基础if语句

1.单分支语句: 一般用来进行筛选

 if (判断条件) 判断条件为bool值

{ 分支执行语句; }

代码示例
if (true) // true条件成立
            {
                Console.WriteLine("看看代码是否执行");
            }

            if (false)// false条件不成立
            {
                Console.WriteLine("代码不执行"); // 无法执行的代码
            }

            // 2. 输入年龄判断成年
            int age = int.Parse(Console.ReadLine());
            if (age > 18)
            {
                Console.WriteLine("成年了 想咋耍就咋耍");
            }

2.双分支语句

适用场景:只有两种对立情况,必执行其中一个代码块(要么执行if,要么执行else)。

int score = 60;
// 条件1:分数>=90,成立输出"A"
if (score >= 90)
{
    Console.WriteLine("A");
}
// 条件2:与上述条件相反(score<90),兜底输出"A-"
else 
{
    Console.WriteLine("A-");
}

💡 关键:else 不需要写条件,自动匹配“if条件不成立”的所有情况。

3.多分支语句

第一种方法
if...else if...else 语句

✅ 适用场景:3种及以上互斥情况,从上到下依次判断,只执行第一个满足条件的代码块

int age1 = 12;
// 条件1:0-14岁,成立输出"总角"
if (age1 >= 0 && age1 <= 14) 
{
    Console.WriteLine("总角");
}
// 条件2:14-24岁(不满足条件1才会判断)
else if (age1 > 14 && age1 <= 24)
{
    Console.WriteLine("弱冠-豆蔻");
}
// 条件3:24-40岁(不满足前两个才判断)
else if (age1 > 24 && age1 <= 40)
{
    Console.WriteLine("三十而立");
}
// 条件4:40-70岁(不满足前三个才判断)
else if (age1 > 40 && age1 <= 70)
{
    Console.WriteLine("知命之年");
}
// 兜底:所有条件都不满足(如70岁以上)
else
{
    Console.WriteLine("耄耋");
}

💡 关键:

  • else if 必须跟在 if 后面,不能单独使用。

  • 条件顺序很重要,避免“范围大的条件”放在前面(如先写age1<=40,会覆盖后面的小范围条件)。

  • else 可选,但推荐添加,避免出现“所有条件都不满足”时无输出。

第二种方法
连续独立 if 语句(多个独立判断)

✅ 适用场景:多个不互斥的条件,可能执行多个代码块(每个if独立判断,互不影响)。

int count = 90;
// 第一个独立判断:count>=90,成立执行
if (count >= 90)
{
    Console.WriteLine("count大于等于90");
    count = 60; // 修改count的值,影响下一个if的判断
}
// 第二个独立判断:不管第一个if是否执行,都会判断
if (count < 70)
{
    Console.WriteLine("count小于70");
}

💡 关键区别(与else if对比):

  • 连续if:每个if都执行判断,可能多个代码块都执行(如上例,两个if都执行)。

  • else if:只执行第一个满足条件的代码块,后续不再判断。

4. 条件嵌套(if 内部嵌套 if)

✅ 适用场景:需要“多层筛选”,先满足外层条件,再判断内层条件。

int age2 = 10;
string sex = "女";
// 外层条件:判断是否为男生
if (sex == "男") 
{
    // 内层条件:男生前提下,判断年龄是否>=18
    if (age2 >= 18)
    {
        Console.WriteLine("是男生并且年龄超过18,可以结婚");
    }
    else // 男生,但年龄<18
    {
        Console.WriteLine("不到18不允许结婚");
    }
}
else // 外层条件不成立(不是男生),兜底输出
{
    Console.WriteLine("不是男生");
}

💡 注意:嵌套层级不宜过多(建议≤3层),否则代码可读性变差,可后续学习函数拆分优化。

三、核心总结

if-else 是 C# 中最基础的流程控制语句,核心是“根据条件执行不同代码”:

  • 单条件无兜底 → 基础 if

  • 二选一 → if...else

  • 多条件互斥 → if...else if...else

  • 多条件不互斥 → 连续独立 if

  • 多层筛选 → 条件嵌套

重点:理解“互斥”和“独立”的区别,根据实际场景选择对应的用法,代码可读性优先。

更多推荐