Scala函数的基本使用

66 阅读1分钟

函数的定义

函数的基本使用

返回值

  1. 指定返回值类型。
  2. 函数内,最后一个表达式(最后一句代码)就是返回值。
  3. Unit 表示这个函数没有返回值(void)。

参数

  1. 如果没有参数,在定义函数时,可以省略()。在调用函数的时候,就不能添加()。

x,y中较大者

object work33 {
  // 定义函数
  // 作用:找到x,y中的较大者
  def max(x:Int, y:Int):Int = {
    if(x > y) x else y
  }

  //如果没有参数,可以省略()
  def say: Unit = {
    println("hello world!")
  }

  def main(args: Array[String]): Unit = {
    say()
    var rst = max(2,3)//调用函数
    println(s"2和3的较大者是:${rst}")
  }
}

x,y,z中较大值

/* 分析:
    (1)三选一
    if(x >=y && x >=z)
      x
    else if(y >=x &&  >=z)
      y
    else
      z
    (2) 两个选一个较大者;较大者和剩下的那个中选择一个
    val rst = if(x>y) x else y //x,y的较大者
    if(rst > z ) rst else z 

 */
def max(x:Int, y:Int, z:Int):Int = {
  val rst = if(x>y) x else y //x,y的较大者
  if(rst > z ) rst else z 
}


def main(args: Array[String]): Unit = {
  var rst = max(100,200,300)//调用函数
  println(s"较大者是:${rst}")
}

x,y,z中的最大值和最小值

object work35 {

  // 函数返回多个数据
  // 作用:找到x,y,z中的最大值和最小值
  // (Int, Int) 是返回值的类型,表示这个函数的返回值中有两个整数!!!
  
  def max(x:Int, y:Int, z:Int):(Int, Int) = {
    var maxValue = if(x > y) x else y //x,y的较大者
    maxValue = if(maxValue > z ) maxValue else z
    
    var minValue = if(x < y) x else y
    minValue = if(minValue < z ) minValue else z
    
    // 返回一个容器,包含两个值
    (minValue,maxValue)
  }


  def main(args: Array[String]): Unit = {
    var rst = max(100,20,300)//调用函数
    println(s"最小值是:${rst._1}, 最大值是:${rst._2}")
  }
}