函数的基本使用

59 阅读1分钟

定义一个函数:

  • 1.位置:可以放在main的里面,也可以写在外面
  • 2.要点:
  • ①.返回值的类型 ②.省略return ③.返回值也可以省略return
  • eg:
 object Base37 {
   def main(args: Array[String]): Unit = {
     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);

     }
    }
}
  • 3.特殊写法:
  • ①.没有参数列表,可以省略定义的函数时的(),那么使用的时候,也不需要再加上()
  • ②.函数的最后一条代码为函数的返回值
  • ③.如果函数体只有一句代码,则可以省略{}
  • eg:定义一个函数,求3个数中的最大值
object Base39 {
  def max(x: Int, y: Int, z: Int): Int = {
    // 先比较x和y,取较大值再与z比较
    if (x > y) {
      if (x > z) x else z
    } else {
      if (y > z) y else z
    }
  }

  def main(args: Array[String]): Unit = {
    val s = max(10, 20, 25)
    println(s)  // 现在会正确输出 25
  }
}
  • eg:求3个数中的最小值
object Base40 {
 def min(x: Int, y: Int, z: Int): Int = {
    val c =if (x < y) {x} else {y}
     if (c > z) {z} else {c}
 }

 def main(args: Array[String]): Unit = {
   val m = min (10, 20, 25)
   println(m)  // 现在会正确输出 25
 }
}

eg:同时返回最大值和最小值

object Base40 {
  // 修改返回类型为元组 (Int, Int)
  def getMaxandMin(x: Int, y: Int, z: Int): (Int, Int) = {
    // 使用var声明,因为需要重新赋值
    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) x else y
    max = if (min < z) min else z

    // 返回元组 (最小值, 最大值)
    (min, max)
  }

  def main(args: Array[String]): Unit = {
    val r = getMaxandMin(10, 20, 25)
    println(s"最小值${r._1}")  // 输出:最小值10
    println(s"最大值${r._2}")  // 输出:最大值25
  }
}