一、函数的定义
要点:
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}")
}
}