if语句

51 阅读2分钟

一、格式与执行

object Main {
  def main(args: Array[String]) = {
    if(1>2){
      println("yes")
    } else {
      println("no")
    }
  }
}

输出No

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

if语句的执行流程

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

练习题

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

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

    print("请输入正方形的边长:")
    var a = scala.io.StdIn.readInt()

    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")
    }
  }
}

2、案例三输入分数输出等级

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

object Main {
  def main(args: Array[String]) = {
    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语句的返回值

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

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

输出:

2>1是成立的

练习题

1.判断一个数是奇数还是偶数

object Main {
  def main(args: Array[String]) = {
    var num = 20;
    var result= if(num%2 ==1){
      "奇数"
    } else {
      "偶数"
    }
    println(result)
  }
}