本文将介绍如何使用switch结构来处理多重条件选择。Switch结构与多重if结构类似,根据表达式的值有条件地执行不同的分支。
Switch结构(多路分支条件语句)用于简化程序结构,通过判断表达式的值是否匹配常量列表中的值来选择执行语句。
关键字如switch, case, break和default在语法中起关键作用。首先计算switch后的表达式值,然后依次与case后的常量比较,若匹配则执行对应代码块,并通过break结束switch;若无匹配项且存在default,则执行default代码块。
示例:根据不同季节输出季节特点。一年有四季,每个季节都有独特的景象。
using System;
namespace SeasonApp
{
class Program
{
static void Main(string[] args)
{
string seasonInput;
Console.Write("请输入季节:");
seasonInput = Console.ReadLine();
switch (seasonInput)
{
case "春季":
Console.WriteLine("春暖花开");
break;
case "夏季":
Console.WriteLine("夏日炎炎");
break;
case "秋季":
Console.WriteLine("秋高气爽");
break;
case "冬季":
Console.WriteLine("白雪皑皑");
break;
default:
Console.WriteLine("输入的季节无效");
break;
}
}
}
}
测试场景1:输入"夏季",输出"夏日炎炎"。测试场景2:输入未知季节,输出"输入的季节无效"。
注意事项:
- 每个case和default后必须包含break以避免语法错误。
- 当多个case需要执行相同操作时,可将它们连续放置并共享同一段代码。
- case和default顺序不影响结果。
示例:实现一个简单的计算器,支持加减乘除四则运算。
using System;
namespace CalculatorApp
{
class Program
{
static void Main(string[] args)
{
int number1, number2;
string operation;
Console.Write("请输入两个数字:");
number1 = int.Parse(Console.ReadLine());
number2 = int.Parse(Console.ReadLine());
Console.Write("请输入运算符 (+, -, *, /):");
operation = Console.ReadLine();
switch (operation)
{
case "+":
Console.WriteLine($"{number1} + {number2} = {number1 + number2}");
break;
case "-":
Console.WriteLine($"{number1} - {number2} = {number1 - number2}");
break;
case "*":
Console.WriteLine($"{number1} * {number2} = {number1 * number2}");
break;
case "/":
if (number2 == 0)
Console.WriteLine("除数不能为零");
else
Console.WriteLine($"{number1} / {number2} = {(double)number1 / number2:F2}");
break;
default:
Console.WriteLine($"不支持运算符 {operation}");
break;
}
}
}
}