函数的定义
函数的基本使用
返回值
- 指定返回值类型。
- 函数内,最后一个表达式(最后一句代码)就是返回值。
- Unit 表示这个函数没有返回值(void)。
参数
- 如果没有参数,在定义函数时,可以省略()。在调用函数的时候,就不能添加()。
x,y中较大者
object work33 {
// 定义函数
// 作用:找到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}")
}
}
x,y,z中较大值
/* 分析:
(1)三选一
if(x >=y && x >=z)
x
else if(y >=x && >=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):Int = {
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(100,200,300)//调用函数
println(s"较大者是:${rst}")
}
x,y,z中的最大值和最小值
object work35 {
// 函数返回多个数据
// 作用:找到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,300)//调用函数
println(s"最小值是:${rst._1}, 最大值是:${rst._2}")
}
}