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利用 ...
随机推荐
- yso中URLDNS的pop链分析(重新分析整理)
#发现之前对这个链关注的点有点问题,重新分析了一下 由于最近面试的过程中被问到了yso中URLDNS这个pop链的工作原理,当时面试因为是谈到shiro的怎么检测和怎么攻击时谈到了这个.其实在实战中用 ...
- gradle中 使用lombok
plugins { id 'java' id "io.franzbecker.gradle-lombok" version "3.1.0" ...
- Mybatis之自动生成
使用Mybatis来自动生成我们的dao接口,mapper文件和实体类. 1.pom.xml依赖: <dependencies> <dependency> <groupI ...
- SpreadJS:一款高度类似Excel的开发工具,功能涵盖Excel的 95% 以上
Excel 作为一款深受用户喜爱的电子表格工具,借助其直观的界面.出色的计算性能.数据分析和图表,已经成为数据统计领域不可或缺的软件之一. 基于Excel对数据处理与分析的卓越表现,把Excel的功能 ...
- Hello TypeScript
⒈TypeScript简介 1.JavaScript的超集 2.支持ECMAScript6标准,并支持输出ECMAScript3/5/6标准的纯JavaScript代码 3.支持ECMAScript未 ...
- Neo4j
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做 ...
- 适合新手的160个creakme(二)
先跑一下,然后找出关键字符串 关键字符串是You Get Wrong和Try Again,不过IDA好像识别不出来这个字符串,在Ollydbg中右键Search For,寻找所有字符串,可以找到这些字 ...
- nginx浏览器开启密码验证
如果我们在 nginx 下搭建了一些站点,但是由于站点内容或者流量的关系,我们并不想让所有人都能正常访问,那么我们可以设置访问认证.只有让用户输入正确的用户名和密码才能正常访问.效果如下: 在 ngi ...
- 怎样查看Redis的版本号
Q: 怎样查看Redis版本 A: 下面两条命令都可以查看redis 版本: redis-server --version redis-server -v
- HTTP协议探究(一):缓存
一 复习与目标 1 复习 序章主要用WrieShark抓包HTTP报文 复习了TCP协议 讲述了TCP协议与HTTP之间的关系 HTTP1.1更新原因:HTTP1.0一次TCP连接只能发送一次HTTP ...