switch 语句
switch 语句允许测试变量与值列表的相等性。每个值称为一个案例,并检查每个开关案例接通的变量。
在测试单个变量的多个可能值时,switch
语句通常比 if...else if... else..
语句更简洁和易懂。
语法如下
switch(expression) {
case constant-expression:
statement(s);
break;
case constant-expression:
statement(s);
break;
// you can have any number of case statements
default : // Optional
statement(s);
break;
}
使用 switch 语句时需要考虑的各种事情
- switch 语句中使用的表达式必须具有整数或枚举类型,或者是类类型,其中类具有单个转换函数为整数或枚举类型。
- 你可以在交换机中包含任意数量的 case 语句。每个案例后跟要与之比较的值和冒号。要比较的值必须在每个 switch 语句中是唯一的。
- switch 语句可以有一个可选的默认情况。当没有任何情况为真时,默认情况可用于执行任务。
- 每个案例都必须以
break
语句结束,除非它是一个空语句。在这种情况下,执行将继续在它下面的情况下。当使用return
,throw
或goto case
语句时,也可以省略 break 语句。
可以按等级给出示例
char grade = 'B';
switch (grade)
{
case 'A':
Console.WriteLine("Excellent!");
break;
case 'B':
case 'C':
Console.WriteLine("Well done");
break;
case 'D':
Console.WriteLine("You passed");
break;
case 'F':
Console.WriteLine("Better try again");
break;
default:
Console.WriteLine("Invalid grade");
break;
}