定义函数
作用1:找到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}")
}
结果:
2和3的较大值为:3
返回值:
1.指定返回值类型
2.函数内,最后一个表达式(最后一句代码)就是函数的返回值
3.Unit 表示这个函数没有返回值(void)
// 如果没有函数,可以省略()
def say() :Unit = {
println("hello world")
}
def main(args: Array[String]): Unit = {
say()
}
参数
1.如果没有参数,在定义函数时,可以省略(),再调用函数的时候,就不要添加()
def say:Unit = {
println("hello world")
}
def main(args: Array[String]): Unit = {
say
}
结果
hello world
作用2:找到x,y,z中的最大值
分析:
(1)三选一
if (x >= y && x >= z)
x
else if (y >= x && y >= z)
y
else (z >= x && z >= y)
z
def main(args: Array[String]): Unit = {
var rst = max(2,3,100) // 调用函数
println(s"较大值为:${rst}")
}
(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}")
}
作用3:找到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(2,3,100) // 调用函数
println(s"最小值为:${rst._1},较大值为:${rst._2}")
}
结果
最小值为:2,较大值为:100