多分支|学习笔记

简介: 快速学习多分支。

开发者学堂课程【Scala 核心编程-基础多分支】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8912


多分支

 

基本内容

一、多分支

二、案例演示

 

一、多分支

1基本语法

if (条件表达式1) {

执行代码块1

}

else if (条件表达式2) {

执行代码块2

}

……

eIse {

执行代码块 n

}

2、多分支的流程图

image.png

(1) 说明:当条件表达式1成立时,即执行代码块1,如果表达式1不成立,才去判断表达式2是否成立,如果表达式2成立,就执行代码块2,以此类推,如果所有的表达式都不成立,则执行 else 的代码块,注意

(2) 只能有一一个执行入口。

(3) 这个跟 Java 的内容是一样的,以上 Scala 的一个流程图,就是要它先去判断第一个表达式成不成立,如果第一个表达式成立,则执行对应的代码块,否则值去判断第二个表达式,如果成立执行,第二个如果不成立继续判断,那么有一点要注意一下,就是不管这个多分子有多么复杂,只能有一个执行入口,这点一定要注意,这是个基本常识,不管这个程序有多少个条件表达式只能有一个入口

3、案例演示

请大家看个案例 [IfDemo3.scala]:

岳小鹏参加 scala 考试,他和父亲岳不群达成承诺: 如果:

成绩为100分时,奖励一辆 BMW;

成绩为(80,99]时, 奖励台 iphone7plus;

当成绩为[60,80]时,奖励一个 iPad;

其它时,什么奖励也没有。

说明:成绩在控制台输入!

解:这里一定要用到多分支,因为有四种情况;那新建在之前的包中新建一个文件,叫做 ifelsesDemo03 案例一般都不难,首先成绩从控制台输入,那这个时候先打一句话:请输入成绩,就是分数,现在用一个变量来接收stdIn. readDouble,现在开始判断,如果这个成绩等于100分,那么就提示一句话,成绩100奖励宝马一台,紧接着 elseif,有两个写法,第一种写法是用范围来判断,第二写法是比较严谨的,两头的判断严格的判断,比如说第一种写法可以这么去写因为他这个成绩是100?不会超过100,那可以这样写} else if (score > 80),因为是大于80分,大于80分就可以这样写,因为是按一个范围来做的,分数肯定是低于100分,最多得100分,所以说100就到这儿,如果不判断分数大于80,因为这个分数已经是最上限了如果想写的严谨一点,可以把条件写清楚,就是同时要满足条件,写法如下:} else if (score > 80 && score <= 99) {,这个以前老师也是讲过的,有些时候要直接控制某个条件将后面一个条件去掉也没有问题,但如果把这个去掉,有个前提就是分数不要去超过100,如果超过100或者低于零分就报错成绩为成绩为(80,99]时, 奖励台 iphone7plus如果成绩是大于等于60,并且成绩小于等于80,那么这个时候又提示另外一句话奖励 ipad一个最后这个条件是肯定是小于60,没有任何奖励,最后来运行一下。

import scala. io. stdIn

object ifelsesDemo03 {

def main(args: Array[String]): Unit = {

/*

岳小鹏参加 scala 考试,他和父亲岳不群达成承诺:

如果:

成绩为100分时,奖励一辆 BMW;

成绩为(80,99]时,奖励一台 iphone7plus ;

当成绩为[60, 80]时,奖励一个 iPad;

其它时,什么奖励也没有。

成绩是从控制台输入

*/

println("请输入成绩")

val score = stdIn. readDouble()

if (score == 100) {

println("成绩为100分时,奖励一辆BMW")

} else if (score > 80 && score <= 99) {

//写法1使用范围,写法2就是格的判断

println("成绩为(80,99]时, 奖励一台iphone7plus;" )

} else if (score >= 60 && score <= 80) {

println("励一个iPad")

} else {

println("没有任何笑励")

}

运行结果:

(1) 成绩为100分,奖励一辆 BMW;

(2) 成绩为84分,成绩为(80,99]时, 奖励一台 iphone7plus;

其他的就不再做演示了。

 

二、案例演示

1. 多分支在上一板块就说完了,现在再来看一个练习题,同学们先自行设计,求一个二元一次方程的根,a、b、c分别为函数的参数,这个函数先可以暂时不写,因为还没讲函数,所以说直接写死就行了,如果 b2- 4ac>0则有两个,如果 b2- 4ac=0只有一个b2- 4ac<0则无解,那么测试的数据是a=3,b=100,c=6然后提示信息,如果有两个的话,X1的只是这么一个计算方式,X2是这么一个方式X2=(-b-sqrt(b2-4ac))/2a

2. 求 ax2 +bx+c=0方程的根。a,b,c 分别为函数的参数,如果: b2-4ac>0,则有两个解; b2-4ac=0,则有一一个解; b2-4ac<0, 则无解; [a=3 b=100 c=6]

提示1: x1=(-b+sqrt(b2- 4ac))/2a

X2=(-b-sqrt(b2- 4ac))/2a

提示2: sqrt(num)在 scala 包中(默认引入的)的 math 的包对象有很多方法直接可用

3. 不管学得好还是学得不好,必须要跟上这个节奏,本身这个技术学习起来都不会很难,包括以后学大数据都不是特别难,都是一个熟练的过程,对什么时候才会接触真正比较困难的就是工作以后,一个是业务逻辑,一个是性能的优化才会有些难度,所以说不要觉得这个简单,如果没有这个基础,有些内容是没有办法理解同样新建一个这样的文件,exercise02,这是第二个案例注意写的时候,个比较好的方式就是先把代码上去,先做一个思路的分析,最简单的内容先做一个分析,首先看到题目有三个变量,这三个变量要写死的,那么就不用从控制台输入了,所以说首先应该定义三个变量第二个可以看到题目中说如果……如果……如果……所以说这里面三个分支,因此要用多分支完成使用又一个思路出来了,第三点,分析一下,可以在题目中看到,频繁的用到了 b2- 4ac那既然如此,应该把 b2- 4ac 做成一个中间变量,或者说把它算出来直接使用,而不要每次都去重新计算一次,因为将来做大数据计算,反复这样计算的话,假设这个统计的量很大,性能就会变得很低,因此 b2- 4ac 会频繁地使用到因此可以先计算出来计算并保存到一个变量中,这就是很好的一个思路,最后判断并执行判断,写业务逻辑好了,那么现在分析完毕后,就开始了执行

package com. atguigu. chapter04. ifesle

object Exercise02 {

def main(args: Array[String]): Unit = {

/*

求 ax2 +bx+c=0方程的根。a,b,c 分别为函数的参数,如果: b2-4ac>0,则有两个解; b2-4ac=0,则有一一个解; b2-4ac<0, 则无解; [a=3 b=100 c=6]

提示1: x1=(-b+sqrt(b2- 4ac))/2a

X2=(-b-sqrt(b2- 4ac))/2a

提示2: sqrt(num)在 scala 包中(默认引入的)的 math 的包对象有很多方法直接可用

思路的分析

1.定义三个变量 a,b,c

2.使用多分支完成

3.因为 b2-4ac 会多次使用,因此我们可以先计算,并保持到变量中

4.判断,写逻辑

*/

代码如下:

val a=3

val b = 100

val c = 6

val m=b*b-4*a* C

var x1 = 0.0

var x2= 0.0

if (m > 0) {

x1=(-b+sqrt(m))/2*a

X2=(-b-sqrt(m))/2*a

println("有两个解x1="+x1.formatted("%.2f")+"x2="+ x2.

formatted("%.2f"))

} else if(m==0)

x1=(-b + sqrt(m))/2* a

println("有一个解x1="+ x1)

} else {

println(“无解”)

}

}

相关文章
|
6月前
|
C语言
C分支的具体掌握
C分支的具体掌握
|
开发工具 git
git创建分支操作分支
Git中,要创建和操作分支,可以按照以下步骤进行操作
|
2月前
|
缓存 开发工具 git
Git创建分支以及合并分支
在Git中,创建分支使用`git branch [branch_name]`,切换分支使用`git checkout [branch_name]`。修改文件后,通过`git add [file]`添加到暂存区,然后`git commit`提交到本地仓库。如果是新建分支的第一次推送,使用`git push origin [branch_name]`推送到远程仓库,之后可以简化为`git push`。合并分支时,使用`git merge [branch_name]`将指定分支的更改合并到当前分支。
52 2
Git创建分支以及合并分支
|
6月前
|
数据可视化 安全 开发工具
git的分支的使用,创建分支,合并分支,删除分支,合并冲突,分支管理策略,bug分支,强制删除分支
git的分支的使用,创建分支,合并分支,删除分支,合并冲突,分支管理策略,bug分支,强制删除分支
|
6月前
|
开发工具 git 开发者
Git管理分支都有哪些,不同分支作用是什么?
在Git中,有多种类型的分支,每种分支都有不同的作用。以下是一些常见的Git分支以及它们的作用:
152 0
|
6月前
|
算法 C++
C++005-C++选择与分支2
C++005-C++选择与分支2
|
6月前
|
算法 安全 C++
C++004-C++选择与分支1
C++004-C++选择与分支1
|
缓存 Linux 开发工具
轻松掌握Git开发(四)分支操作
轻松掌握Git开发(四)分支操作
|
开发工具 git
git创建分支和合并分支
git创建分支和合并分支
83 0
|
开发工具 git
为什么需要Git分支,以及分支逻辑
为什么需要Git分支,以及分支逻辑
213 0