Unity游戏制作中的C#基础(5)条件语句和循环语句知识点全解析

1.条件语句

(1). if 语句

基础语法

复制代码
if (条件表达式)
{
    // 当条件表达式为 true 时执行的代码
}

执行逻辑

if 语句首先计算条件表达式的值,如果结果为 true,则执行大括号内的代码块;若为 false,则跳过该代码块,继续执行后续代码。

重要知识点

  • 条件表达式必须返回布尔值(true 或 false)。

  • ++如果代码块中只有一条语句,大括号可以省略++,但为了增强代码的可读性和可维护性,建议始终使用大括号。

示例代码

复制代码
int temperature = 25;
if (temperature > 20)
{
    Console.WriteLine("天气比较暖和");
}

(2). if - else 语句

基础语法

复制代码
if (条件表达式)
{
    // 当条件表达式为 true 时执行的代码
}
else
{
    // 当条件表达式为 false 时执行的代码
}

执行逻辑

先对条件表达式进行求值。若结果为 true,执行 if 代码块;若为 false,则执行 else 代码块。

重要知识点

  • else 语句为 if 条件不满足时提供了备用执行路径。

  • 一个 if 语句只能有一个 else 语句。

示例代码

复制代码
int score = 75;
if (score >= 60)
{
    Console.WriteLine("考试及格");
}
else
{
    Console.WriteLine("考试不及格");
}

(3). if - else if - else 语句

基础语法

复制代码
if (条件表达式 1)
{
    // 当条件表达式 1 为 true 时执行的代码
}
else if (条件表达式 2)
{
    // 当条件表达式 1 为 false 且条件表达式 2 为 true 时执行的代码
}
else
{
    // 当所有条件表达式都为 false 时执行的代码
}

执行逻辑

依次对各个条件表达式进行求值。一旦某个条件表达式为 true,就执行对应的代码块,然后跳出整个 if - else if - else 结构;若所有条件表达式都为 false,则执行 else 代码块。

重要知识点

  • 条件判断是按顺序进行的,一旦某个条件满足,后续条件将不再判断。

  • else 部分可以省略,但建议保留以处理所有可能的情况。

示例代码

复制代码
int num = 25;
if (num < 10)
{
    Console.WriteLine("数字小于 10");
}
else if (num < 20)
{
    Console.WriteLine("数字大于等于 10 且小于 20");
}
else
{
    Console.WriteLine("数字大于等于 20");
}

(4). switch 语句

基础语法

复制代码
switch (表达式)
{
    case 值 1:
        // 当表达式的值等于值 1 时执行的代码
        break;
    case 值 2:
        // 当表达式的值等于值 2 时执行的代码
        break;
    default:
        // 当表达式的值与所有 case 值都不匹配时执行的代码
        break;
}

执行逻辑

计算表达式的值,然后将其与各个 case 后面的值进行比较。如果匹配成功,执行对应的代码块,直到遇到 break 语句,然后跳出 switch 结构;若所有 case 都不匹配,则执行 default 代码块(如果有)。

重要知识点

  • 表达式可以是整数类型、字符类型、枚举类型等。

  • case 后面的值必须是常量表达式。

  • break 语句用于终止当前 case 的执行,若省略 break,会发生 "穿透" 现象,继续执行下一个 case 的语句块。

示例代码

复制代码
char grade = 'B';
switch (grade)
{
    case 'A':
        Console.WriteLine("优秀");
        break;
    case 'B':
        Console.WriteLine("良好");
        break;
    case 'C':
        Console.WriteLine("中等");
        break;
    default:
        Console.WriteLine("其他");
        break;
}

2.循环语句

(1). for 循环

基础语法

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

执行逻辑

  • 首先执行初始化表达式,通常用于声明和初始化循环变量。

  • 然后判断条件表达式的值,若为 true,则执行循环体;若为 false,则退出循环。

  • 每次循环体执行完毕后,执行迭代表达式,用于更新循环变量的值,然后再次判断条件表达式,重复上述过程。

重要知识点

  • 初始化表达式、条件表达式和迭代表达式都可以为空,但分号不能省略。

  • 适用于已知循环次数的情况。

示例代码

复制代码
for (int i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}

(2). while 循环

基础语法

复制代码
while (条件表达式)
{
    // 循环体,重复执行的代码
}

执行逻辑

先判断条件表达式的值,若为 true,则执行循环体;执行完循环体后,再次判断条件表达式,只要条件表达式为 true,就会继续执行循环体,直到条件表达式为 false 时退出循环。

重要知识点

  • 如果条件表达式一开始就为 false,循环体一次也不会执行。

  • 适用于不确定循环次数,只知道循环结束条件的情况。

示例代码

复制代码
int j = 0;
while (j < 5)
{
    Console.WriteLine(j);
    j++;
}

(3). do - while 循环

基础语法

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

执行逻辑

++先执行循环体++ ,然后判断条件表达式的值。若为 true,则继续执行循环体;若为 false,则退出循环。

重要知识点

  • 无论条件表达式的结果如何,循环体至少会执行一次。

  • 注意 do - while 语句结尾处的分号不能省略。

示例代码

复制代码
int k = 0;
do
{
    Console.WriteLine(k);
    k++;
} while (k < 5);

(4). foreach 循环

基础语法

复制代码
foreach (数据类型 变量名 in 集合或数组)
{
    // 循环体,对集合或数组中的每个元素执行的代码
}

执行逻辑

foreach 循环会自动遍历集合或数组中的每个元素,将当前元素赋值给指定的变量,然后执行循环体,直到遍历完所有元素。

重要知识点

  • 变量的类型必须与集合或数组中元素的类型兼容。

  • 在 foreach 循环中,不能直接修改集合或数组中的元素。

  • 适用于需要遍历集合或数组中所有元素的情况。

示例代码

复制代码
string[] fruits = { "苹果", "香蕉", "橙子" };
foreach (string fruit in fruits)
{
    Console.WriteLine(fruit);
}

3.结语

在实际编程过程中,要根据具体的需求选择合适的语句来实现所需的逻辑。希望本文介绍的知识点能帮助你更好地掌握 C# 中的条件语句和循环语句。

相关推荐
samble14 小时前
从零搭建灌装监控系统(十八):自定义控件,三色灯与状态指示
c#·wpf·mvvm·modbus·工业控制
jun_bai14 小时前
使用Aspose实现word文档合并,内容替换
windows·c#·word
xcLeigh16 小时前
Unity基础:Instantiate实例化——在运行时动态创建游戏物体
游戏·unity·游戏引擎·教程·instantiate
棉猴17 小时前
玩游戏学Python2-IDLE与pgzero入门
开发语言·python·游戏·玩游戏·pgzero·pgzrun
河南花仙子科技17 小时前
加油站小游戏营销拓客新方案
游戏·拓客
字节暗面18 小时前
客户端上报不可信:游戏服务端数据校验与对局重演设计
c#·游戏开发·服务端校验·反作弊
chingho19 小时前
GitHub上这10个C#项目,不仅实用,还怪好玩的
c#·github·.net·开源项目
云月呀20 小时前
刺绣打字机直达链接入口
游戏
半亩码田20 小时前
C#转Python第5.1篇:异步编程:asyncio vs async/await,语法相似但机制不同
开发语言·python·c#
阿华田51221 小时前
Java 类加载冲突实战:解决 is not an instance of
c#·linq