定义一个函数:
- 1.位置:可以放在main的里面,也可以写在外面
- 2.要点:
- ①.返回值的类型 ②.省略return ③.返回值也可以省略return
- eg:
object Base37 {
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);
}
}
}
- 3.特殊写法:
- ①.没有参数列表,可以省略定义的函数时的(),那么使用的时候,也不需要再加上()
- ②.函数的最后一条代码为函数的返回值
- ③.如果函数体只有一句代码,则可以省略{}
- eg:定义一个函数,求3个数中的最大值
object Base39 {
def max(x: Int, y: Int, z: Int): Int = {
// 先比较x和y,取较大值再与z比较
if (x > y) {
if (x > z) x else z
} else {
if (y > z) y else z
}
}
def main(args: Array[String]): Unit = {
val s = max(10, 20, 25)
println(s) // 现在会正确输出 25
}
}
- eg:求3个数中的最小值
object Base40 {
def min(x: Int, y: Int, z: Int): Int = {
val c =if (x < y) {x} else {y}
if (c > z) {z} else {c}
}
def main(args: Array[String]): Unit = {
val m = min (10, 20, 25)
println(m) // 现在会正确输出 25
}
}
eg:同时返回最大值和最小值
object Base40 {
// 修改返回类型为元组 (Int, Int)
def getMaxandMin(x: Int, y: Int, z: Int): (Int, Int) = {
// 使用var声明,因为需要重新赋值
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 (min < z) min else z
// 返回元组 (最小值, 最大值)
(min, max)
}
def main(args: Array[String]): Unit = {
val r = getMaxandMin(10, 20, 25)
println(s"最小值${r._1}") // 输出:最小值10
println(s"最大值${r._2}") // 输出:最大值25
}
}