c#switch语句判断成绩_Go的条件判断语句
现实时间中,我们如果想去购物,可以选择网上或者线下去购物,甚至说,要购买的物品都有许多选择,选价格便宜的,选质量好的,选不用运费等等
那么在计算机语言中,我们要怎么实现现实中,这些选择呢?
Go语言支持了几种条件判断语句,if 语句和switch语句
if 语句
单分支结构
格式
if 条件表达式 {代码块
}
代码示例
package mainimport "fmt"func main(){var shopping int = 1 //网上购物的编号为1,线下购物的编号为2//当 shopping == 1的时候,选择网上购物if shopping == 1 {fmt.Println("选择网上购物,此时shopping的值为:", shopping)}//当 shopping == 2的时候,选择线下购物if shopping == 2 {fmt.Println("选择线下购物,此时shopping的值为:", shopping)}
}
输出为:选择网上购物,此时shopping的值为: 1
在这里,我们定义了一个变量 shopping,并赋值为1,这时候运行代码,代码会先判断第一个 if 语句,也就是 shopping == 1 这个条件表达式所在的 if 条件句,由于符合条件,所以进入代码块中;执行完代码块后,程序会继续向下执行,这时候会遇到第二个 if 语句,然后判断 shopping是否等于2,由于shopping等于1,不符合条件,所以不进入代码块中,所以不输出,至此程序执行结束。
注意:如果第二个 if 语句的条件表达式也符合 shopping == 1的话,会进入if 代码块中执行代码块的内容
执行过程
多分支结构
格式
if 条件表达式 {代码块
}else {代码块
}--------------------------------------if 条件表达式{代码块
}else if 条件表达式{代码块
}else{代码块
}
代码示例
package mainimport "fmt"func main(){var shopping int = 2 //网上购物的编号为1,其它编号都是线下购物//当 shopping == 1的时候,选择网上购物//当 shopping != 1的时候,选择线下购物if shopping == 1 {fmt.Println("选择网上购物,此时shopping的值为:", shopping)}else{fmt.Println("选择线下购物,此时shopping的值为:", shopping)}}
输出:选择线下购物,此时shopping的值为: 2
代码执行到 if 语句这里后,判断条件是否成立,如果成立,执行代码块的代码;如果不成立,执行 else 语句中的内容,也就是说,除了 shopping == 1 这个条件成立会执行 "选择网上购物"外,其它数字的输入,都会走到 else语句中
package mainimport "fmt"func main(){var shopping int = 3 //网上购物的编号为1,线下购物的编号为2,其它的都不去购物//当 shopping == 1的时候,选择网上购物//当 shopping == 2的时候,选择线下购物if shopping == 1 {fmt.Println("选择网上购物,此时shopping的值为:", shopping)}else if shopping == 2{fmt.Println("选择线下购物,此时shopping的值为:", shopping)}else {fmt.Println("不去购物了,在家躺尸比较舒服")}}
输出:不去购物了,在家躺尸比较舒服
上面的语句,较 if...else 语句而言,多了 else if 语句,可以让程序多个选择。当执行到第一个 if 语句 shopping == 1的,由于条件不成立,继续向下执行,执行到 else if 语句,这个语句的条件是 shopping == 2,也不成立,执行 else 语句中的代码
如果有多个 else if 语句,那么只要前面的不匹配,就会执行下面的 else if,直到没有 else if为止,那么久执行 else
执行过程
第一份代码的图
第二份代码的图
嵌套分支结构
代码示例
package mainimport "fmt"func main(){//声明三个个变量,分别代表了数学成绩,英语成绩还有年龄var mathScore int = 88var englishScore int = 90var age int = 18//只要有一个科目的成绩在90分以上就评为优秀,这时候要是年龄小于等于18,那么可以多个奖状if mathScore >= 90 || englishScore >= 90{fmt.Println("优秀")if age <= 18 {fmt.Println("奖励奖状一张")}} else {fmt.Println("干什么吃的,没一科考到90+")}
}
输出:优秀(此处在打印的时候,是有换行的)奖励奖状一张
嵌套分支,其实跟其它分支是差不多的,它只是在分支里面,还嵌套了条件判断语句
switch 语句
Go中的 switch语句,跟其它语句还是略有些区别的:
- 执行完 case 后,不用调用 break关键字,来让程序跳出 switch 语句,因为在每个case后面,都会默认加一个 break关键字
- 要想匹配完一个语句后,继续执行下面的case,只要使用关键字 fallthrough即可,无论下面的case是否匹配上,都会执行 fallthrough语句下面的 case中的内容
- case 后面的类型,要跟 switch中的类型匹配,下面代码的 expr的类型要保持一致
switch expr { case expr }
- default 在这里可有可无
- switch 后面可以是任意类型
代码示例
不带 fallthrough关键字
package mainimport "fmt"func main() {//定义一个变量,来代表成绩var score int64 = 90switch {case score >= 90:fmt.Println("优秀")case score >= 80 && score < 90:fmt.Println("良好")default:fmt.Println("一般")}
}
输出结果:优秀
带 fallthrough关键字
package mainimport "fmt"func main() {//定义一个变量,来代表成绩var score int64 = 99switch {case score > 90:fmt .Println("优秀")fallthroughcase score >= 80 && score < 90:fmt.Println("良好")default:fmt.Println("一般")}
}
输出:优秀(此处在打印的时候,是有换行的)良好
是不是很奇怪,明明 fallthrough后面的case条件明明不匹配,但他就是执行了,可能是因为名字中有 through这个词的原因吧,表示穿过(这个是我瞎说的,不要当真)
补充
if 和 switch语句后面可以带个初始化语句,如下
package mainimport "fmt"func main() {switch score := 99;{case score >= 90:fmt .Println("优秀")fallthroughcase score >= 80 && score < 90:fmt.Println("良好")default:fmt.Println("一般")}
}
分号后面,才是下面要 switch后面要跟的类型,而 if语句中的初始化也是跟这个一样
c#switch语句判断成绩_Go的条件判断语句相关推荐
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
求1+2+3+-+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C) 文章目录 求1+2+3+...+n,要求不能使用乘除法.for ...
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). //利用构造函数求解 /*class Temp{ pub ...
- 【OJ - 基础数学】求1+2+3+...+n(不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句)
文章目录 OJ - 求1+2+3+...+n 解题思路 OJ - 求1+2+3+-+n 题目难度:中等 OJ链接:求1+2+3+-+n__牛客网 (nowcoder.com) 题目描述: 求1+2+3 ...
- 基于R利用if语句套嵌进行多重条件判断
我们知道在R中if语句可以帮助我们进行条件判断,常用于修改变量,做出条件选择等等,对于条件为二分类的判断非常有帮助, 比如我们想判断学生的成绩是否及格,60分以上算是及格 ifelse(n>60 ...
- 支持多分支语句吗_Go的条件判断语句
现实时间中,我们如果想去购物,可以选择网上或者线下去购物,甚至说,要购买的物品都有许多选择,选价格便宜的,选质量好的,选不用运费等等 那么在计算机语言中,我们要怎么实现现实中,这些选择呢? Go语言支 ...
- if js 判断成绩等级_JS 条件语句
在编写 js 的过程中,我们肯定会用到条件语句. 常用的 if...else 大部分的条件语句都是用 if...else,适用于"非黑即白"的情况: 场景一:是否登录 根据不同的登 ...
- 比Switch...Case更加优雅的多条件判断写法
前言 前几天,本人负责编写网站上线的环境判断功能,其中涉及到大量多条件判断的code.对于多条件判断写法,大部分程序员都是采用if...else if...else或者switch...case的写法 ...
- python if判断字符串_python之条件判断、循环和字符串格式化
1. python的条件判断:if和else 在条件判断中可以使用算数运算符 等于:== 不等于:!= 大于:> 小于:< 大于等于:>= 小于等于:<= 示例1: usern ...
- linux grep egrep fgrep bash条件判断 bash测试 if 条件判断
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
最新文章
- 机器学习入门学习笔记:(2.4)线性判别分析理论推导
- 画箱线图_箱线图的N种画法
- hbuilder打包ios_ios开发证书的作用及申请步骤
- Zepto.js 源码解析(emoji版)
- K近邻算法的kd树实现
- cpg数据库处理_找到未提取的pdf
- OpenCasCade标注显示类(独立)
- java的class文件反编译
- SPSS 25.0 软件安装教程
- 【虚拟主机】服务器搭建
- windows出于安全原因某些设置由系统管理员管理解决方法
- 10-调用门(有参)实验
- 如何快速去除图片上的水印?去除图片水印怎么做?
- 计算机硬件报警声音,有关电脑发出警报声的.
- 计算机科学与技术创新实验班是什么意思,计算机科学与技术(创新实验班)专业介绍...
- 淘宝联盟代码html无法显示,阿里妈妈的iconfont的引用问题
- 采购策略中的合同支付类型
- dim层-首日和每日数据装载脚本
- 0002 真的吗,700元的电脑可以学会编程?
- R语言分层抽样(strata函数)