switch结构
switch结构介绍
switch也属于条件判断的语句
支持多种写法,和if .. else if ...else 结构的功能类似,但是里面的细节需要注意的地方更多
switch基本语法
switch [定义变量;] [变量]{
case [条件/具体值]:
//代码
case [条件/具体值]:
//代码
default:
//代码
}
switch每个case分支默认只执行一个且是从上向下执行
default上下位置没有影响,当且仅当所有case都不成立时才执行default
switch用法(一)
当变量只有固定的几个值时可以使用switch结构
func main() {
num :=
switch num {
case :
fmt.Println("2进制")
case :
fmt.Println("8进制")
case :
fmt.Println("10进制")
case :
fmt.Println("16进制")
default:
fmt.Println("内容不正确")
}
fmt.Println("程序结束")
}
- switch也支持在条件位置定义变量,变量有效范围为当前switch
func main() {
switch num := ; num {
case :
fmt.Println("2进制")
case :
fmt.Println("8进制")
case :
fmt.Println("10进制")
case :
fmt.Println("16进制")
default:
fmt.Println("内容不正确")
}
fmt.Println("程序结束")
}
switch用法(二)
当条件是范围而不是固定值时
func main() {
score :=
switch {
case score >= :
fmt.Println("优秀")
case score >= :
fmt.Println("良好")
case score >= :
fmt.Println("中等")
case score >= :
fmt.Println("及格")
default:
fmt.Println("不及格")
}
fmt.Println("程序结束")
}
switch用法(三)
case条件支持多个值,每个值使用逗号分开
func main() {
month :=
switch month {
case , , , , , , :
fmt.Println("31天")
case :
fmt.Println("28或29天")
default:
fmt.Println("30天")
}
fmt.Println("程序结束")
}
穿透和中断
switch结构中某个最多只能执行一个case,使用fallthrough可以让下一个case/default继续执行
func main() {
switch num := ; num {
case :
fmt.Println("")
fallthrough
case :
fmt.Println("")
case :
fmt.Println("")
fallthrough
case :
fmt.Println("")
default:
fmt.Println("不是1,2,3,4")
}
fmt.Println("程序结束")
}
- break可以用在switch和循环中,表示立即结束,无论当前结构后面还有多少代码
func main() {
switch num := ; num {
case :
fmt.Println("")
break
fmt.Println("break后面代码都不执行")
fallthrough
case :
fmt.Println("")
case :
fmt.Println("")
fallthrough
case :
fmt.Println("")
default:
fmt.Println("不是1,2,3,4")
}
fmt.Println("程序结束")
}
switch结构的更多相关文章
- c语言学习之基础知识点介绍(六):if和switch结构
本节主要说c语言中的分支结构. c语言中分支结构有两大类:一种是if,一种是switch. 一.if结构 //if结构,语法: //第一种: if(表达式){ //语句块 } //第二种: if(表达 ...
- switch结构可以更好的解决等值判断问题
switch 选择结构的语法:switch (表达式){case 常量 1://代码块1:break;case 常量 2://代码块2:break;......default://代码块n:break ...
- 经验之谈-switch结构常见错误的分析与处理
1.缺少break语句 本来只想输出“出任武林盟主”可输出结果为 错误分析:在 switch结构中,每一个case语句块后面如果不写 break语句, switch就会 直接往下面的case语句块运行 ...
- 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结
038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...
- 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构
037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...
- Java初学者作业——使用switch结构实现一个简单的购物计划
返回本章节 返回作业目录 需求说明: 使用switch结构实现一个购物计划,计划为:星期一.星期三.星期五购买伊利牛奶和面包,星期二.星期四购买苹果和香蕉,星期六.星期日购买啤酒和周黑鸭. 实现思路: ...
- java中switch结构和 while for循环的用法
6.2 switch结构: 变量可以是:variable can be:(mark: tried, can not be long) char/int/short/byte(java1.7 就可 ...
- switch结构2016/03/08
Switch 03/08 一.结构 switch(){ case *: ;break;……default: ;brek;} 练习:输入一个日期,判断这一年第几天? Console.Write(&q ...
- 关于Switch结构利用
三大流程结构,循环.分支.if ,循环与条件选择结构用的比较多,而swicth用的比较少,swicth可以用if代替,只不过麻烦,最终都能实现输入和输出的条件对应 Swicth利用 ...
随机推荐
- Map对象,Set对象使用(2)
今天重点见一下Set Set 在我印象里它主要就是去重,Set 是一个值的集合,这个集合中所有的值仅出现一次 Set 属性size:和Map的size一样,返回成员的总数 Set的方法: Set.pr ...
- linux netfilter
yum -y install iptables//三张表 filter nat mangle [root@wang /]# iptables -t filter -nvL [root@wang /]# ...
- 学习笔记:CentOS7学习之二十三: 跳出循环-shift参数左移-函数的使用
目录 学习笔记:CentOS7学习之二十三: 跳出循环-shift参数左移-函数的使用 23.1 跳出循环 23.1.1 break和continue 23.2 Shift参数左移指令 23.3 函数 ...
- The Maze II
There is a ball in a maze with empty spaces and walls. The ball can go through empty spaces by rolli ...
- Sumitomo Mitsui Trust Bank Programming Contest 2019 Task F. Interval Running
Link. There is a nice approach to this problem that involves some physical insight. In the following ...
- 网络编程[第三篇]基于tcp协议实现远程连接
需要用到subprogress模块来远程控制cmd控制台程序来得到控制台的输出信息 一.服务端 —— 控制输出信息 import socket import subprocess #socket实例化 ...
- 第十四章 ZYNQ TIMER定时器中断
上篇文章实现了了PS接受来自PL的中断,本片文章将在ZYNQ的纯PS里实现私有定时器中断.每隔一秒中断一次,在中断函数里计数加1,通过串口打印输出. 本文所使用的开发板是Miz702 PC 开发环 ...
- Linux weblogic启停
一般weblogic启停在windows下很方便使用图标方式.但是在linux下需要杀掉weblogic进程才能真正关掉weblogic. 1.查询weblogic进程 ps -ef | grep & ...
- docker 入门4 - 群 【翻译】
开始,第 4 部分:群 先决条件 安装 Docker 版本 1.13 或更高版本. 获取第 3 部分先决条件中所述的 Docker Compose. 获取 Docker Machine, Mac 的 ...
- JAVA学习篇--静态代理VS动态代理
本篇博客的由来,之前我们学习大话设计,就了解了代理模式,但为什么还要说呢? 原因: 1,通过DRP这个项目,了解到了动态代理,认识到我们之前一直使用的都是静态代理,那么动态代理又有什么好处呢?它们二者 ...