11用d编程开关
switch (expression) {
case value_1://这里可以不为数字.
// 为1时操作...
// ...
break;
case value_2:
// 为2时操作...
// ...
break;
// ... 其他例...
default:
// 都不匹配操作
// ...
break;
}
if/else
等块,会引进域
.而case
不会.
switch (value) {
case 5:
writeln("five");
goto case; //跳至4了,如果没有goto,仍然跳,除非有Break
case 4:
writeln("four");
break;
default:
writeln("unknown");
break;
}
可用goto...
goto case
//走到下个
goto default
goto case XXX
//走到xxx
表达式必须是整,串,极
,即串
可用作例
.
switch (dieValue) {
case 1:
writeln("你赢了");
break;
case 2: .. case 5://表区间,范围
writeln("It's a draw");
break;
case 6:
writeln("我赢了");
break;
default:
break;
}
值可以有区间. 还可以并列.
case 2,4:
writeln("It's a draw");
break;
final switch
,必须每种情况都有.默认
块就没意义了.这个时候不能有区间( … ).不过可以用(,,,
)如:
int dieValue = 1;
final switch (dieValue) {
case 1:
writeln("You won");
break;
case 2, 3, 4, 5:
writeln("It's a draw");
break;
case 6:
writeln("I won");
break;
}
如果表达式是枚举
类型,则所有值都必须覆盖
,即没有遗漏.这也是final
的意义.
当有多个值要比较时,就最好用switch
,都要覆盖时用final switch
.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现