一.程序流程控制介绍
在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。
温馨提示: Scala语言中控制结构和Java语言中的控制结构基本相同,在不考虑特殊应用场景的情况下,代码书写方式以及理解方式都没有太大的区别
1)顺序控制
2)分支控制(单分支, 双分支,多分支)
3)循环控制
二.顺序控制
2.1顺序控制介绍
程序从上到下逐行地执行,中间没有任何判断和跳转。
2.2顺序控制举例和注意事项
Scala中定义变量时采用合法的前向引用。如:
def main(args : Array[String]) : Unit = {
var num1 = 12
var num2 = num1 + 2
}
错误形式:
def main(args : Array[String]) : Unit = {
var num2 = num1 + 2
var num1 = 12
}
三.分支控制的if-else
3.1分支控制if-else介绍
让程序有选择的的执行,分支控制有三种:
1)单分支
2)双分支
3)多分支
3.2单分支
基本语法
if (条件表达式) {
执行代码块 }
说明:当条件表达式为ture 时,就会执行 { } 的代码。
3.3双分支
基本语法
if (条件表达式) {
执行代码块1 } else {
执行代码块2 }
说明:当条件表达式成立,即执行代码块1,否则执行代码块2.
3.4双分支小案例:
判断一个年份是否是闰年,闰年的条件是符合下面二者之一:(1)年份能被4整除,但不能被100整除;(2)能被400整除
object IfElseDemo {
def main(args: Array[String]): Unit = {
/*
判断一个年份是否是闰年,闰年的条件是符合下面二者之一:(1)年份能被4整除,但不能被100整除;(2)能被400整除
分析
1. 有一个变量,保存year
2. 分支控制
3. (1) 和 (2) 条件是 或的关系
4. (1) 中的两个条件是 与的关系
代码
*/
var year = 2020
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
println("year=" + year + "是闰年")
} else {
println("year=" + year + "不是闰年")
}
}
}
3.5多分支小案例
//多分支案例练习
/*
岳小鹏参加scala考试,他和父亲岳不群达成承诺:
如果:
成绩为100分时,奖励一辆BMW;
成绩为(80,99]时,奖励一台iphone7plus;
当成绩为[60,80]时,奖励一个 iPad;
其它时,什么奖励也没有。
说明: 成绩在控制台输入!
分支
1. 有一个变量 score 保存我们的成绩
2. 使用多分支来控制流程
3. 根据不同的情况,来输出结果
*/
println("请输入岳小鹏考试成绩")
val score = StdIn.readFloat() //大数据
if (score >= 100) {
println("成绩为100分时,奖励一辆BMW")
} else if (score > 80 ) {
println("奖励一台iphone7plus")
} else if (score >= 60) {
println("奖励一个 iPad")
} else {
println("什么奖励也没有")
}
3.6分支控制if-else 注意事项
1)如果大括号{}内的逻辑代码只有一行,大括号可以省略, 这点和java 的规定一样。
2)Scala中任意表达式都是有返回值的,也就意味着if else表达式其实是有返回结果的,具体返回结果的值取决于满足条件的代码体的最后一行内容.[案例演示]
3)Scala中是没有三元运算符,因为可以这样简写,使用 if –