内建控制-if语句

107 阅读2分钟

一. if语句的格式和执行流程

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

1. 单分支   if(){}
2. 双分支   if(){} else {}
3. 多分支   if(){} else if(){} else if(){} else {}

if(布尔表达式 1){  
   // 如果布尔表达式 1 为 true 则执行该语句块  
}else if(布尔表达式 2){  
   // 如果布尔表达式 2 为 true 则执行该语句块  
}else if(布尔表达式 3){  
   // 如果布尔表达式 3 为 true 则执行该语句块  
}else {  
   // 如果以上条件都为 false 执行该语句块  
}
object base26 {
  def main(args: Array[String]): Unit = {
    /*
    循环守卫
    当后面的条件都满足的时候,才去执行循环体的内容
    格式:
    for(循环变量 <- 起点 to 终点; if(条件1); if(条件2);...if(条件n)) {
      println(操作变量)
    }
    */

    // 输出1 - 100 中的能整除 2,3,4 的数字
    for(i <- 1 to 100; if(i%2 == 0);if(i%3 == 0);if(i%4 == 0)) {
      println(i)
    }
  }
}

案例

案例一判断是否成年
object base15 {
  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 base16 {
  def main(args: Array[String]): Unit = {
    println("请输入正方形的边长:")
    var a = scala.io.StdIn.readInt()
    println("请输入长方形的长:")
    var b = scala.io.StdIn.readInt()
    println("请输入长方形的宽:")
    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 base17 {
  def main(args: Array[String]): Unit = {
    println("请输入正整数分数:")
    var 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语句的返回值

Scala中的if语句是有返回值的,它的执行过程如下:
val a= if(布尔表达式) {  
   表达式1  
} esle{  
   表达式2  
}
例如:
object base18 {
  def main(args: Array[String]): Unit = {
    // if语句的返回值
     val a = if (2 > 1){
      println("2>1是成立的")
      "ok"
    } else {
      "no"
    }

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