Scala学习系列(六)流程控制语句

一.程序流程控制介绍

在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。
温馨提示: 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 –

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值