定义一个函数
- 位置:可以写在main里面,也可以写在外面
- 要点
def main(args: Array[String]): Unit = {
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. 定义一个函数,求三个数中的最大值
解法一
def max(x: Int, y: Int, z: Int): Int = x.max(y).max(z)
def main(args: Array[String]): Unit = {
val s = max(100,20,30)
println(s)
题2. 定义一个函数,求三个数中的最小值
解法二
def min(x: Int, y: Int, z: Int):Int = {
if (x <= y && x <= z){
x
} else if(z <= y && z <= y){
z
}else{
y
}
}
def main(args: Array[String]): Unit = {
val m = min(1,10,20)
println(m)
}
}
解法三
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,20,30)
println(s)
val m = min(1,10,20)
println(m)
}
}
题3. 定义一个函数,求最小值和最大值
def getMaxandMin(x: Int, y: Int, z: Int): (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) {y} else { x }
max = if(max<z) {max} else{ max }
(min,max)
}
def main(args: Array[String]): Unit = {
val s = getMaxandMin(20, 50, 40)
println (s);
}