函数的基本使用

68 阅读1分钟

定义一个函数

  1. 位置:可以写在main里面,也可以写在外面
  2. 要点
  • 返回值的类型
  • 省略return
  def main(args: Array[String]): Unit = {

    //返回值,可以省略return
    def max(x: Int, y: Int): Int = {
      if (x > y) {
        x
      }
      else {
        y
      }
    }

    def main(args: Array[String]): Unit = {
      // 调用函数
      val s = max(10, 20)
      println(s);
    }
  }
}
  1. 特殊写法
  • 没有参数列表,可以省略定义函数时的()。调用的时候也不需要再加上()
  • 函数的最后一条语句为函数的返回值
  • 如果函数体只有一句代码,则可以省略

题目

题1. 定义一个函数,求三个数中的最大值

解法一
def max(x: Int, y: Int, z: Int): Int = x.max(y).max(z)
def main(args: Array[String]): Unit = {
  val s = max(100,20,30)
  println(s)

题2. 定义一个函数,求三个数中的最小值

解法二
def min(x: Int, y: Int, z: Int):Int = {
  if (x <= y && x <= z){
    x
  } else if(z <= y && z <= y){
    z
  }else{
    y
  }
}
 def main(args: Array[String]): Unit = {
      val m = min(1,10,20)
      println(m)
  }
}
解法三
 def min(x: Int, y: Int, z: Int):Int = {
      val c = if(x<y){
      x
      }else{
        y
      }
      if(c<z){c}else{z}
    }
    def main(args: Array[String]): Unit = {
      val s = max(100,20,30)
      println(s)
      val m = min(1,10,20)
      println(m)
  }
}

题3. 定义一个函数,求最小值和最大值

def getMaxandMin(x: Int, y: Int, z: Int): (Int , Int) = {

  var min: Int = x
  var max: Int = x

  min = if(x<y) {x} else { y }
  min = if(min<z) {min} else{ z }

  max = if(x<y) {y} else { x }
  max = if(max<z) {max} else{ max }

  (min,max)
}
def main(args: Array[String]): Unit = {
  val s = getMaxandMin(20, 50, 40)
  println (s);
}