函数的基本使用

55 阅读2分钟

定义 函数

格式如下:

image.png

函数的规则

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

2.最后一条语句为函数的返回值。当函数体中有多个语句存在时,返回最后一条语句的值。 exrsxddc 3.函数的返回类型可以省略。它会自动推断。

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

object basic32 {
  /**
   *
   *函数的基本使用
   * 返回值:
   * 1.指定返回类型
   * 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 wrold!")
  }


  def main(args: Array[String]): Unit = {

    say()

    var rst = max(2,3)//调用函数
    println(s"23中的较大者是:${rst}")

  }
}

image.png

三者比较大小

object basic33 {
  /**
   *
   *函数的基本使用
   * 返回值:
   * 1.指定返回类型
   * 2.函数内,最后一个表达式(最后一句代码)就是函数的返回值
   * 3.Unit 表示这个函数没有返回值(void)
   *
   * 参数
   * 1.如果没有参数,在定义函数时,可以省略(),在调用函数的时候,就不能添加()
   */
    //定义函数
    //作用:找到x,y,z中的较大者
   /* (1)
   def max(x:Int, y: Int,z: Int):Int = {
      if(x>=y && x>=z)
        x
      else if(y>=x && y>=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)= {
      val rst = if (x > y) x else y
      if (rst > z) rst else z
    }
  def main(args: Array[String]): Unit = {
    var rst = max(2,3,100)//调用函数
    println(s"最大值是:${rst}")

  }
}

image.png

比较最大值和最小值

object basic34 {
    //函数返回多个数据
    //作用:找到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 //x,y的较小者
      maxValue = if(maxValue>z) maxValue else y
      minValue= if(minValue>z) minValue else z

  //返回一个容器,包含两个值
  (minValue,maxValue)
    }
  def main(args: Array[String]): Unit = {
    var rst = max(2,3,100)//调用函数
    println(s"较小值是:${rst._1},较大值是${rst._2}")

  }
}

image.png