函数的基本使用

51 阅读2分钟

函数的基本使用

返回值

  1. 定义函数,在函数中写出所要表达的作用
  2. 再调用函数,返回作用所要的结果。
  3. 函数内,最后一个表达式(最后一句代码)就是函数的返回值。
  4. Unit:表示这个函数没有返回值(void)

参数

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

基本例子

/**
 * 函数的基本使用
 *返回值:
 * 1.制定返回值类型(“():”后面的Int,Unit等)
 * 2.函数内,最后一个表达式(最后一句代码)就是函数的返回值
 * 3.Unit:表示这个函数没有返回值(void)
 * 
 * 参数
 * 1.如果没有参数,在定义函数时,可以省略()。在调用函数的时候,就不能添加()
 */
//定义函数
//作用:找到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}")
}

案例二

/**
 * 分析:
 * (1)三选一
 * if(x>=y && x>=z)
 * x
 * else if(y>=x && y>=z)
 * y
 * else
 * z
 * (2)两个之间先选出一个较大者,较大者再与剩下那个中选择一个
 * val rst=if(x>y) x else y
 * if(rst>z)
 * rst
 * else
 * z
 */
def max(x:Int,y:Int,z:Int):Int={
  val rst=if(x>y) x else y
  if(rst>z)
    rst
  else
    z
}

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

案例三

//函数返回多个数据
//作用:找到x,y,z中的最大者和最小者
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(200,30,1000)  //调用函数
  println(s"最小者是:${rst._1},最大者是:${rst._2}")
}

元祖

表示不同类型值的集合,即元组可以用于存放不同类型的元素,例如可以存放整型、字符串、浮点型、自定义类型等等。Scala的元组类型可以使方法同时返回多个值,省略了中间部分的解析和集合的遍历。

定义元组

  1. 第一种表示方式为:(元素1,元素2,…元素N)
  2. new TupleN(元素1,元素2,…元素N)。N最大为22

访问元祖基本例子

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