函数的基本使用

55 阅读1分钟

一、函数的定义

屏幕截图 2025-10-13 113321.png

要点:

1. 特别注意要写=

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"2和3的较大者是:${rst}")
    }

三、函数的返回值

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

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

3.函数的返回类型可以省略。

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

    /**
      函数的基本使用
      返回值:
        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 world!")
      }

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

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


    //定义函数
      //作用:找到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.两个选一个较大者和剩下的那个中选择一个
        var 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  //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,200)//调用函数
        println(s"最小值是:${rst._1},较大者是:${rst._2}")
      }
    }