06内建控制-if语句

72 阅读2分钟

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

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

1. 单分支 if(){}

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

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

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

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

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

案例一

判断是否成年

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

    // 1.获取用户输入的数字
    // 2.判断
    // 3.输出结果

    print("请输入年龄:")
    val age = scala.io.StdIn.readInt()
    if( age >= 18 ){
      println("成年")
    }
    else {
      println("未成年")
    }

  }

}

结果如图:

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

案例二

比较正方形和长方形面积大小

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

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

    println("请输入正方形的边长:")
    val a = scala.io.StdIn.readDouble()

    println("请输入长方形的长:")
    val b = scala.io.StdIn.readDouble()

    println("请输入长方形的宽:")
    val c = scala.io.StdIn.readDouble()

    val squareArea = a * a
    val rectangleArea = b * c

    if (rectangleArea > squareArea) {
      println("RECTANGLE")
    } else if (squareArea > rectangleArea) {
      println("SQUARE")
    } else {
      println("SAME")
    }
  }

}

结果如图:

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

案例三

输入分数输出等级

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

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

    // 最后一个else 在语法上是可以省略的
    
    println("请输入分数(0-100之间的正整数):")
    val score = scala.io.StdIn.readInt()

    // 根据分数范围判断等级
    val grade = if (score >= 90 && score <= 100) {
      "A"
    }
    else if (score >= 80 && score <= 89) {
      "B"
    }
    else if (score >= 70 && score <= 79) {
      "C"
    }
    else if (score >= 60 && score <= 69) {
      "D"
    }
    else if (score >= 0 && score <= 59) {
      "E"
    }
    else {
      "无效分数"
    }

    // 输出结果
    println(s"对应的等级是:$grade")

  }

}

结果如图:

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

二. if语句的返回值

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

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