开发者学堂课程【Scala 核心编程-基础:嵌套分支】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/609/detail/8914
嵌套分支
内容介绍
一、基本介绍
二、基本语法
三、应用案例
一、基本介绍
在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支外面的分支结构称为外层分支。嵌套分支不要超过3层。如果 if 里面写了 if else,又写了两层,那么这个代码可容性很差,如果超过三层,需要用别的方法进行化解。
二、基本语法
if(){
if(){
}else{
}
}
三、应用案例
1、参加百米运动会,如果用时8秒以内进入决赛,否则提示淘汰。并且根据性别提示进入男子组或女子组。[可以让学员先练习下5 min] ,输入成绩和性别,进行判断。1分钟思考思路
double second; char gender;
创建 Exercise04,选择 object。
首先定义一个变量记录成绩。
package com. atguigu. chapter04. ifesle
object Exercise04 {
def main(args: Array[string]): Unit = {
/*
参加百米运动会,如果用时8秒以内进入决赛,否则提示淘汰。并且根据性别提示进入男子组或女子组。[可以让学员先练习下5 min] ,输入成绩和性别,进行判断。
println("
请输入运动员的成绩
" )
val
speed
=
StdIn. readDouble( )
if(speed <= 8) {
println("请输入性别")
进行二次判断
val
gender
= StdIn. Read
char()
if ( gender==
‘
男') {
println("进入男子组")
如果男子组里面再有甲乙丙丁,也支持嵌套
}
else {
println("进入女子组")
}
} else {
println("你被淘汰...") .
}
}
}
执行,输入运动员成绩。
9
你被淘汰…..
就不用再进行到分组。
再次运行,输入运动员成绩。
4.9
请输入性别(嵌套分支)
男
进入男子组
2、整理:
(1)基本介绍:
在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支外面的分支结构称为外层分支。嵌套分支不要超过3层。
(2)基本语法:
if(){
if(){
}else{
}
}
(3)应用案例:
参加百米运动会,如果用时8秒以内进入决赛,否则提示淘汰。并且根据性别提示进入男子组或女子组。[可以让学员先练习下5 min] ,输入成绩和性别,进行判断。
println("
请输入运动员的成绩
" )
val
speed
=
StdIn. readDouble( )
if(speed <= 8) {
println("请输入性别")
val
gender
= StdIn. Read
char()
if ( gender==
‘
男') {
println("进入男子组")
}
else {
println("进入女子组")
}
} else {
println("你被淘汰...") .
}
}
}
2、应用案例2
出票系统:根据淡旺季的月份和年龄,两个因素,打印票价[考虑学生先做]
4_ 10旅游旺季:
成人(18-60) : 60
儿童(<18) :半价
老人(>60) :1/3
淡季:
成人: 40
其他: 20
创建 Exercise05,选择 object。
思路分析
1. 定义至少三个变量,分别记录 mouth,age,ticket 价格。
2. 逻辑上有月份和年龄的判断,因此会使用嵌套分支。
3. 根据对应的业务逻辑完成代码。
走代码
*
/
println("
输
入月
份
")
val month = stdIn. readInt()
println("
输
入
年龄
")
va1 age = stdIn. readInt()
val tikcet = 60
if (month >= 4 && month <= 10) {
因为没有学习
switch
,所以先用if判断
if(age>=18&&age<=60){
println("
你
的票价是”+ tikcet)
}elseif(age<18){
println("
你
的票价是" + tikcet / 2)
} else {
println("
你
的票价是" + tikcet / 3)
}
} else {
if(age>=18&&age<=60){
println("
你
的票价是" + 40)
} else {
println("
你
的票价是”+ 20)
}
}
}
执行。
输入月份
8
输入年龄
40
你的票价是60
Process finished with exit code 0
再执行。
输入月份
12
输入年龄
8
你的票价是20
Process finished with exit code 0
代码正确。