内建控制-if语句

57 阅读2分钟

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

它的语法比较格式比较简单,与java中的一致。

  1. 单分支。 if(){}

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

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

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

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

屏幕截图 2025-09-17 103504.png

(一)判断是否成年

编写程序实现:提示用户输入年龄,判断是否成年。

object Base12 {
  def main(args: Array[String]): Unit = {
    // 1.获取用户输入的数字
    // 2.判断
    // 3.输出结果
    print("请输入年龄:")
    val age = scala.io.StdIn.readInt()
    if (age >= 18) {
      println("成年")
    }  else {
      println("未成年")
    }
  }
}
(二)比较正方形和长方形面积大小

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

object Base13 {
  def main(args: Array[String]): Unit = {
    val a = scala.io.StdIn.readDouble()
    val b = scala.io.StdIn.readDouble()
    val c = scala.io.StdIn.readDouble()
    val square = a * a
    val rectangle = b * c
    if (square > rectangle) {
      println("SQUARE")
    } else if (square < rectangle) {
      println("RECTANGLE")
    } else {
      println("SAME")
    }
  }
}
(三)输入分数输出等级

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

object Base14 {
  def main(args: Array[String]): Unit = {
    val score = scala.io.StdIn.readDouble()
    if (score >= 90) {
      println("A")
    } else if (score >= 80) {
      println("B")
    } else if (score >= 70) {
      println("C")
    } else if (score >= 60) {
      println("D")
    } else if (score >= 0) {
      println("E")
    } else {
      println("输入分数有误")
    }
  }
}

二.if语句的返回值

Scala中的if语句是有返回值的,它的执行过程如下:

屏幕截图 2025-09-17 111630.png

如果布尔表达式为true,则会把表达式1的值赋给变量a。如果布尔表达式为false,则会把表达式2的值赋给变量a。即如果布尔表达式为true,a=表达式1,否则,a=表达式2。

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

var i = 2;
var c = if(i%2 ==0){"偶数"} else {"奇数"}