函数的运用

75 阅读1分钟

1.定义函数

返回值:

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

2.调用函数

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

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


## 3.函数的规则

1.只有一行可以省略{}。当Scala的函数体中只有一行表达式时可以省略{},输出结果依然不变。

2.最后一条语句为函数的返回值。当函数体中有多个语句存在时,返回最后一条语句的值。

3.函数的返回类型可以省略。它会自动推断。

4.函数没有形参,在定义函数时可以省略(),那么在调用函数时也不需要添加()

## 4.函数返回多个值

 //定义函数
  //作用:找到x,y,z中的较大者
  def max(x: Int,y:Int,z:Int):Int={
//(1)三选一
//    if(x>=y && x>=z)
//      x
//    else if(y>=z && y>=x)
//      y
//    else
//      z

//(2)两个选一个较大者:较大者和剩下的那个中选择一个
    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(2,3,100)//调用函数
    println(s"较大者是:${rst}")
  }




//函数返回多个数据
//作用:找到x,y,z中的最大者和最小值
//(Int,Int)是返回值的类型,表示这个函数的返回值中有两个整数!!!
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) 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}")
}


## 5.元组

def main(args: Array[String]): Unit = {
  //元组:把数据放在一个容器
  var rst=(1,"a",1.75,"hello",true,2)
  //访问元组的数据 ._数学编号
  println(rst._6)
}