Scala内建控制-if语句

63 阅读2分钟

if这个单词表示“如果”,if语句在可以让程序有选择性地执行。

1. 单分支: if(){}

2. 双分支: if(){} else {}

3. 多分支:  if(){} else if(){} else if(){} else {}

if语句的格式和执行流程

Scala中的if语句的语法格式如下:

if(布尔表达式 1){  
   // 如果布尔表达式 1 为 true 则执行该语句块  
}else if(布尔表达式 2){  
   // 如果布尔表达式 2 为 true 则执行该语句块  
}else if(布尔表达式 3){  
   // 如果布尔表达式 3 为 true 则执行该语句块  
}else {  
   // 如果以上条件都为 false 执行该语句块  
}

案例一判断是否成年

object base14 {
  def main(args: Array[String]): Unit = {
    print("请输入你的年龄:")
    var age = scala.io.StdIn.readInt()
    if(age >= 18) {
      println("成年人")
    } else {
      println("未成年人")
    }
  }
}

案例二比较正方形和长方形面积大小

输入一个正方形的边长(a)及一个长方形的长与宽(b、c),然后比较两个图形的面积。如果长方形面积大,输出 “RECTANGLE”;如果正方形面积大,输出 “SQUARE”,如果一样大,输出 “SAME”

object base15 {
  def main(args: Array[String]): Unit = {
    // 输入正方形的边长
    println("请输入正方形的边长 a:")
    val a = scala.io.StdIn.readDouble()
    // 输入长方形的长和宽
    print("请输入长方形的长:")
    var b = scala.io.StdIn.readInt()
    print("请输入长方形的宽:")
    var c = scala.io.StdIn.readInt()
    if (b * c > a * a) {
      println("RECTANGLE")
    } else if (b * c < a * a) {
      println("SQUARE")
    } else {
      println("SAME")
    }
  }
}

案例三输入分数输出等级

输入正整数分数,输出对应的等级符号。规则如下:[90,100] 为 A 等;[80,89]  为 B 等;[70,79]  为 C 等;[60,69]  为 D 等;[0, 59]  为 E 等

object base16 {
  def main(args: Array[String]): Unit = {
    println("请输入分数:")
    val score = scala.io.StdIn.readInt()

    if (score >= 90 && score <= 100) {
      println("A")
    } else if (score >= 80 && score <= 89) {
      println("B")
    } else if (score >= 70 && score <= 79) {
      println("C")
    } else if (score >= 60 && score <= 69) {
      println("D")
    } else if (score >= 0 && score <= 59) {
      println("E")
    } else  {
      println("分数不在合理的范围之内!")
    }
  }
}

if语句的返回值

执行过程如下

val a= if(布尔表达式) {  
   表达式1  
} esle{  
   表达式2  
}

示例:判断一个数是奇数还是偶数

object base17 {
  def main(args: Array[String]): Unit = {
    object Main {
      def main(args: Array[String]) {
        // 语句的返回值
        val a = if (2 > 1) {
          "ok"
        } else if (2 > 1) "是成立的"
        else "no"

        // 判断一个数是否为奇、偶数
        val num = 11
        val result = if (num % 2 == 1) {
          "奇数"
        } else {
          "偶数"
        }
        println(result)
      }
    }
  }
}