4e1548abe2
Part1
114 lines
3.4 KiB
C#
114 lines
3.4 KiB
C#
using System;
|
|
namespace Lesson17_条件分支语句Switch
|
|
{
|
|
class Program
|
|
{
|
|
static void Main(string[] args)
|
|
{
|
|
#region 知识点一 作用
|
|
//让顺序的代码产生分支
|
|
|
|
#endregion
|
|
|
|
#region 知识点二 语法
|
|
//switch(变量)
|
|
//{
|
|
// case 常量1:
|
|
// //执行语句1
|
|
// break;
|
|
// case 常量2:
|
|
// //执行语句2
|
|
// break;
|
|
// default:
|
|
// //case条件都不满足执行默认语句
|
|
// break;
|
|
//}
|
|
|
|
//注意:常量只能是一个值,不能是条件/逻辑运算符
|
|
|
|
int a = 3;
|
|
switch (a)
|
|
{
|
|
case 1:
|
|
Console.WriteLine("a的值是1");
|
|
break;
|
|
case 2:
|
|
Console.WriteLine("a的值是2");
|
|
break;
|
|
case 3:
|
|
Console.WriteLine("a的值是3");
|
|
break;
|
|
default:
|
|
Console.WriteLine("没有满足的条件");
|
|
break;
|
|
}
|
|
//switch一般配合枚举使用
|
|
|
|
#endregion
|
|
|
|
#region 知识点三 default可省略
|
|
string str = "123";
|
|
switch (str)
|
|
{
|
|
case "321":
|
|
Console.WriteLine("值为1");
|
|
break;
|
|
case "213":
|
|
Console.WriteLine("值为123");
|
|
break;
|
|
//不写default,什么都不会运行
|
|
}
|
|
#endregion
|
|
|
|
#region 知识点四 可自定义常量
|
|
char c = 'A';
|
|
const char c2 = 'A';//常量必须const初始化,且不能修改
|
|
switch (c)
|
|
{
|
|
case c2:
|
|
Console.WriteLine("值为A");
|
|
break;
|
|
case 'B':
|
|
Console.WriteLine("值为B");
|
|
break;
|
|
default:
|
|
Console.WriteLine("没有满足的条件");
|
|
break;
|
|
}
|
|
#endregion
|
|
|
|
#region 贯穿
|
|
int aa = 1;
|
|
switch (aa)
|
|
{
|
|
case 1:
|
|
Console.WriteLine("aa的值是1");
|
|
goto case 2; //贯穿到case 2
|
|
case 2:
|
|
Console.WriteLine("aa的值是2");
|
|
break;
|
|
case 3:
|
|
Console.WriteLine("aa的值是3");
|
|
break;
|
|
default:
|
|
Console.WriteLine("没有满足的条件");
|
|
break;
|
|
}
|
|
//贯穿是指在一个case中没有使用break语句,直接跳转到下一个case
|
|
//注意:贯穿会导致后续的case也被执行,除非遇到break或default
|
|
switch (aa)
|
|
{
|
|
case 1://会直接进入case 2
|
|
case 2:
|
|
case 3:
|
|
case 4:
|
|
Console.WriteLine("这是一个数字");
|
|
break;
|
|
default:
|
|
Console.WriteLine("这是一个其他类型");
|
|
break;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
} |