C# - 决策语句
决策语句
决策结构要求程序员指定程序要评估或测试的一个或多个条件,以及在条件成立时要执行的一个或多个语句,以及(可选)在条件不成立时要执行的其他语句。
以下是大多数编程语言中常见的典型决策结构的一般形式 -
决策语句的类型
C# 提供了以下类型的决策语句。点击以下链接查看详情 -
| 序号 | 声明 &说明 |
|---|---|
| 1 | if 语句
if 语句由一个布尔表达式后跟一个或多个语句组成。 |
| 2 | if...else 语句
if 语句后面可以跟一个可选的 else 语句,当布尔表达式为 false 时执行该语句。 |
| 3 | 嵌套 if 语句
您可以在一个 if 或 else if 语句中嵌套另一个 if 或 else if 语句。 |
| 4 | switch 语句
switch 语句允许测试变量是否与值列表相等。 |
| 5 | 嵌套 switch 语句
您可以在一个 switch 语句中使用另一个 switch 语句。 |
if 语句
if 语句由一个布尔表达式后跟一个或多个语句组成。
示例
以下示例演示了如何在 C# 中使用简单的 if 语句:
using System;
namespace DecisionMaking
{
class Program
{
static void Main(string[] args)
{
// 定义局部变量
int temperature = 30;
// 使用 if 语句检查条件
if (temperature > 25)
{
Console.WriteLine("It's a hot day.");
}
Console.WriteLine($"Current temperature: {temperature} degree C");
}
}
}
当编译并执行上述代码时,它会产生以下结果 -
It's a hot day. Current temperature: 30 degree C
if else 语句
if 语句后可以跟一个可选的 else 语句,该语句在布尔表达式为 false 时执行。
示例
以下示例演示了如何在 C# 中使用 if else 语句:
using System;
namespace DecisionMaking
{
class Program
{
static void Main(string[] args)
{
// 定义局部变量
int temperature = 21;
// 使用 if-else 语句检查条件
if (temperature > 25)
{
Console.WriteLine("It's a hot day.");
}
else
{
Console.WriteLine("The weather is pleasant.");
}
Console.WriteLine($"Current temperature: {temperature} degree C");
}
}
}
当编译并执行上述代码时,它会产生以下结果 -
The weather is pleasant. Current temperature: 21 degree C
嵌套 if 语句
在 C# 中,嵌套 if-else 语句始终是合法的,这意味着您可以在一个 if 或 else if 语句中使用另一个 if 或 else if 语句。
示例
以下示例演示了如何在 C# 中使用嵌套 if 语句:
using System;
namespace DecisionMaking
{
class Program
{
static void Main(string[] args)
{
// 定义局部变量
int temperature = 30;
// 使用嵌套的 if 语句检查条件
if (temperature > 0)
{
if (temperature < 15)
{
Console.WriteLine("It's a cold day.");
}
else if (temperature <= 15 && temperature >= 25)
{
Console.WriteLine("The weather is pleasant.");
}
else
{
Console.WriteLine("It's a hot day.");
}
}
else
{
Console.WriteLine("It's freezing outside!");
}
Console.WriteLine($"Current temperature: {temperature} degree C");
}
}
}
当编译并执行上述代码时,它会产生以下结果 -
It's a hot day. Current temperature: 30 degree C
switch 语句
switch 语句允许测试变量与一系列值是否相等。每个值称为一个 case,并且会针对每个 switch case 检查被切换的变量。
示例
以下示例演示了如何在 C# 中使用嵌套 if 语句:
using System;
namespace DecisionMaking
{
class Program
{
static void Main(string[] args)
{
int day = 3;
switch (day)
{
case 1:
Console.WriteLine("Sunday");
break;
case 2:
Console.WriteLine("Monday");
break;
case 3:
Console.WriteLine("Tuesday");
break;
case 4:
Console.WriteLine("Wednesday");
break;
case 5:
Console.WriteLine("Thursday");
break;
case 6:
Console.WriteLine("Friday");
break;
case 7:
Console.WriteLine("Saturday");
break;
default:
Console.WriteLine("Invalid day number! Please enter a number between 1 and 7.");
break;
}
}
}
}
当编译并执行上述代码时,它会产生以下结果 -
Tuesday
?: 运算符
我们在上一章中介绍了 条件运算符 ?:,它可用于替换 if...else 语句。其一般形式如下:
Exp1 ? Exp2 : Exp3;
其中 Exp1、Exp2 和 Exp3 为表达式。注意冒号的使用和位置。
? 表达式的值确定如下:Exp1 被求值。如果它为真,则 Exp2 被求值并成为整个 ? 表达式的值。如果 Exp1 为假,则 Exp3 被求值并成为表达式的值。

