美文网首页
scala(三) 流程控制

scala(三) 流程控制

作者: 万事万物 | 来源:发表于2021-06-20 06:27 被阅读0次

分支控制if-else

Scala IF...ELSE 语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

单分支 if

可以通过下图来简单了解条件语句的执行过程:


if

语法:

if(布尔表达式)
{
   // 如果布尔表达式为 true 则执行该语句块
}

案例:

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

    val i=10
    if (i>5){
        println("大于5")
    }

  }
大于5

双分支 if-else

语法:

if (条件表达式) {
    执行代码块1
} else {
执行代码块2
}

案例:

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

    val i=4
    if (i>5){
        println("大于5")
    }else{
      println("小于5")
    }

  }
小于5

多分支 if-else if...else

语法:

if (条件表达式1) {
    执行代码块1
} else if(条件表达式1){
        执行代码块2
} else if(条件表达式2){
        执行代码块3
} 
....
else{
      执行代码块N
}

案例:根据年龄判断该用户属于什么年龄阶段

def main(args: Array[String]): Unit = {
    print("请输入你的年龄:")
    val age =StdIn.readInt()

    var tem=""
    if(age<=12){
      tem="儿童"
    }else if(12< age && age <=18 ){
      tem="青少年"
    }else if(18< age && age <=30 ) {
      tem = "青年"
    }else if(30< age && age <=60 ){
      tem = "中年"
    }else if(60< age && age <=150 ){
      tem = "老年"
    }else{
      println("非人类")
      return
    }
    println(s"你的年龄处于${tem}期")
  }
请输入你的年龄:89
你的年龄处于老年期

嵌套分支

在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层。分支外面的分支结构称为外层分支。嵌套分支不要超过3层。

if(条件表达式1){
            if(条件表达式2){
                    执行代码块1
            }else{
                   执行代码块2
            }   
}

案例:网吧游戏校验

 def main(args: Array[String]): Unit = {
    print("请输入你的年龄:")
    val age =StdIn.readInt()
    print("请输入你的性别:")
    val sex =StdIn.readChar()

    if(age>=18){
      if(sex.equals('男')){
        println("来玩CF")
      }else{
        println("来玩QQ炫舞")
      }
    }else{
      println("未成年人禁止玩游戏")
    }
  }
请输入你的年龄:19
请输入你的性别:女
来玩QQ炫舞

我:感觉上面的内容和java没啥区别呀?
scala:就这?我的强大你还没发掘呢。
我:?

块表达式

定义:由{}包裹的一段代码称为快表达式,块表达式可以有返回值,返回值是{}中最后一个表达式的结果值。

案例:块表达式定义与使用

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

    val result={
      val a=10
      val b =20
      a+b
    }

    println(result) // 30
  }

块表达式并不是方法,所以内部不能使用 return ;因为return 用于方法中,使用 return将会结束方法。

案例:运行只有,什么都打印;直接退出 main 方法

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

    val result={
      val a=10
      val b =20
      return a+b
    }
    println("*"*10)
    println(result)
  }

正确操作

  def main(args: Array[String]): Unit = {
    val result={
      val a=10
      val b =20
      a+b
    }
    println("*"*10)
    println(result)
  }
**********
30

至于作用域:块表达式内的变量只能访问 块外的定义的变量,外部无法访问块内部的变量。

  def main(args: Array[String]): Unit = {
    val c=100
    val result={
      val a=10
      val b =20
      val d=b+c
      a+b+d
    }
    println("*"*10)
    println(result)
  }
**********
150

流程控制返回值

在 Scala 中一切皆为对象,if-else 也一样,是对象就有返回,if-else 的返回值 就是程序语句块最后一个代码的结果。
其原因:if 块也属于块表达式

案例:改改上面的代码

def main(args: Array[String]): Unit = {
    print("请输入你的年龄:")
    val age =StdIn.readInt()
    print("请输入你的性别:")
    val sex =StdIn.readChar()

    val result=if(age>=18){
      if(sex.equals('男')){
        "来玩CF"
      }else{
        "来玩QQ炫舞"
      }
    }else{
      "未成年人禁止玩游戏"
    }
    println(result)
  }
请输入你的年龄:65
请输入你的性别:男
来玩CF

相关文章

  • scala(三) 流程控制

    分支控制if-else Scala IF...ELSE 语句是通过一条或多条语句的执行结果(True或者False...

  • Scala-03-流程控制

    注意事项 如果大括号{}内的逻辑代码只有一行,大括号可以省略, 这点和java 的规定一样。Scala中任意表达式...

  • JavaScript-流程控制语句

    一、if流程控制语句 二、switch流程控制语句 三、流程控制语句

  • 第4天 PHP分支、循环结构

    6. 流程控制 流程控制,就是研究程序的走向。 6.1. 流程控制概述 6.1.1. 三大流程结构: 顺序结构:程...

  • Scala-简明速学01-控制语句

    Scala-简明速学01-控制语句 while循环 Scala中的while循环基本与Java相似,但是Scala...

  • scala编程之控制内建结构

    一 scala的内建控制特点 只有if、while、for、try、match和函数调用。 scala从语法层面支...

  • 【2019-05-20】内建控制结构

    scala内建的控制结构:if、while、for、try、match和函数调用,scala从语法层面支持函数字面...

  • js流程控制语句

    流程控制语句 主要用于控制代码执行的顺序 流程控制就是指令 编程语言即人与计算机进行交流的语言 三种流程控制结构 ...

  • 09-Go语言流程控制-指趣学院

    Go语言流程控制基本概念 Go语言流程控制和C语言一样, 也有三大流程控制结构顺序结构(默认结构)选择结构(if ...

  • 三、流程控制

    一、流程控制 分支语句if语句 (需要注意的是,与C/C++不同,C#中if语句的条件表达式必须等于布尔值。)sw...

网友评论

      本文标题:scala(三) 流程控制

      本文链接:https://www.haomeiwen.com/subject/rljlyltx.html