Scala的内建控制-if语句

36 阅读3分钟

内容如下:

1. if语句的格式
2. if 语句的返回值

了解 if 语句

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

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

1. 单分支。 if(){}

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

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

一: if 语句的格式:
//if(布尔表达式1){

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

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

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

案例代码如下:

案例一

object test1 {
  def main(args: Array[String]): Unit = {
    //从上往下运行
    if(1>2){
      println("yes")
    }else{
      println("no")
    }
  }
}

案例二

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

object test2 {
  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 test3 {
  def main(args: Array[String]): Unit = {
    println("请输入正方形边长a:")
    val a = scala.io.StdIn.readDouble()

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

    println("请输入长方形宽c:")
    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")
   }
  }
}

案例四

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

运用多分支结构

object test4 {
  def main(args: Array[String]): Unit = {
    print("请输入你的成绩:")
    val score = scala.io.StdIn.readDouble()
    if(score >= 90 && score <= 100){
      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语句是有返回值的:

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

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

案例如下:

案例一

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

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

案例二

也可通过 if 的返回值来获取等级

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

    val a = StdIn.readInt() // 从键盘输入两个数,a、b

    val b = StdIn.readInt() 
    
    val c = //  用c来保存它们的较大者

    println(c) // 输出较大者

  }

以上就是Scala的内建控制-if语句的讲解,谢谢观看!