Files
Csharp/C#入门/Lesson17_条件分支语句Switch/Program.cs
T

114 lines
3.4 KiB
C#
Raw Normal View History

2025-09-30 16:46:01 +08:00
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
}
}
}