定义函数

33 阅读1分钟

一.定义函数

// 定义一个函数
// 功能:求两个数的较大者
// 格式:
// 1. 有一个 =
// 2. 返回值类型。
// 函数内的最后一个表达式或者语句的值,就是函数的返回值。
// Unit 表示没有返回值,调用这个函数时,不会接收到任何的处理结果。
def max(x: Int, y: Int): Int = {
  val t = if(x > y) x else y
  
  t // 就是返回值
}

// 如果一个函数不需要参数,可以省略()
def say: Unit = {
  printf("hahahaha~~~")
}

def main(args: Array[String]): Unit = {
  val rst = max(1, 100)

  println(s"${rst}")

  // 调用一个没有()的函数,也不要加()
  say
}

改动使3个数最大值,求三个数的较大者

// 定义一个函数
// 功能:求三个数的较大者
def max(x: Int, y: Int): Int = {
  val t = if(x > y) x else y

  t // 就是返回值
}

def main(args: Array[String]): Unit = {
  val rst = max(1, 10, 100)

  println(s"${rst}")
}

三选一, 两次 二选一

// 定义一个函数
// 功能:求三个数的较大者
// 分析:
/*
* 1. 三选一
* if(x>=y && x >=z){
   x
} else if(y>=x&&y>=z){
  y
} else{
   z
}
* 2. 两次 二选一
* var t = if(x>y) x else y
* if(t>z) t else z
**/
def max(x:Int, y:Int, z:Int):Int = {
  var t = if(x>y) x else y
  if(t>z) t else z
}

def main(args: Array[String]): Unit = {
  val rst = max(1000,200,100)
  println(s"${rst}")
}

求三个数的最大值和最小值,函数需要返回多个值。把要放回的数据使用()包在一起,成为一个整体

// 定义一个函数
// 功能:求三个数的最大值和最小值。
// 注意:函数需要返回多个值。把要放回的数据使用()包在一起,成为一个整体

def max(x:Int, y:Int, z:Int): (Int, Int) = {
  var maxValue = if(x>y) x else y
  maxValue = if(maxValue>z) maxValue else z

  var minValue = if(x>y) y else x
  minValue = if(minValue>z) z else minValue

  // println(minValue, maxValue)

  (minValue, maxValue) // 是一个整体
}


def main(args: Array[String]): Unit = {
  val rst = max(1000,200,100)
  // 访问这个整体中的某个值: ._数字
  println(s"最小值是:${rst._1},最大值是:${rst._2}")
}