函数的基本运用

36 阅读1分钟

定义一个函数

1.位置,可以写在main里面,也可以写在外面

2.要点

返回值的类型
省略return
object Base38 {
    def max(x:Int,y:Int):Int = {
        if(x > y){
            x
        } else {
            y
        }
    }
    def main(args:Array[String]): Unit = {
        val s = max(10,20)
        println(s)
    }
}

特殊的写法

1.没有参数列表,可以省略定义函数时的(),那么调用的时候,也不需要再加上()
2.函数的最后一条语句为函数的返回值
object Base38 {
    def getSum(x:Int,y:Int):Int = x+y

    def dosomething = {
        println("xxx")
        1
    }
    def max(x:Int,y:Int):Int = {
        if(x > y){
            x
        } else {
            y
        }
    }
    def main(args:Array[String]): Unit = {
        dosomething
        println(getSum(1,2))
        val s = max(10,20)
        println(s)
    }
}

定义一个函数,求三个数的最大值

object Base40 {

    def max(x: Int, y: Int, z: Int): Int = {

        val c = if (x > y) x else y

        if (c > z) c else z
    }
    def min(x: Int, y: Int, z: Int): Int = {
        val c = if (x > y) x else y
        if (c > z) c else z
    }

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

        val s = max(100, 100, 100)
        println(s);
        val m = min(1,10,100)
        println(s);
    }
}
object Base41 {

    def getMaxandMin(x: Int, y: Int, z: Int): Int = {
        var min:Int=x
        var max:Int=x

        min= if (x < y) {x} else {y}
        min= if (min<z) {min} else {z}

        max= if (x < y) {x} else {y}
        max= if (max<z) {max} else {max}

        (min,max)
    }
    def min(x: Int, y: Int, z: Int): Int = {
        1
    }

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

        val r = getMaxandMin(10, 20, 3)
        println(s"最小值${r._1}");
        println(s"最大值${r._2}");
    }
}