定义函数:
格式如下:
函数要点:
1.特别注意要写=
2.返回值类型要指定
返回值类型:
函数内的最后一个表达式或者语句的值,就是函数的返回值。
Unit 表示没有返回值,调用这个函数时,不会接收到任何的处理结果
函数规则:
- 只有一行可以省略{}。当Scala的函数体中只有一行表达式时可以省略{},输出结果依然不变。
- 最后一条语句为函数的返回值。当函数体中有多个语句存在时,返回最后一条语句的值。
- 函数的返回类型可以省略。它会自动推断。
- 函数没有形参,在定义函数时可以省略(),那么在调用函数时也不需要添加()
object day28 {
//定义一个函数
//功能:尔两个数较大者
//格式:
// 1.有一个 =
// 2.返回值类型
// 函数内的最后一个表达式或者语句的值,就是函数的返回值
// Unit 表示没有返回值,调用这个函数时,不会接收到任何的处理结果
//
def max(x:Int,y:Int):Int={
val t=if(x>y) x else y
t//就是返回值
}
//如果一个函数不需要参数,可以省略()
def say():Unit={
printf("hahaha!!!")
}
def main(args: Array[String]): Unit = {
val rst = max(1,100)
println(s"${rst}")
//调用一个没有()的函数,也不要加()
say
}
}
函数调用:
格式:返回值=函数(参数列表)
示例:两数求和
def getSum(x:Int, y:Int): Int = {
x + y
}
val s = getSum(10,20)
printf(s)
求三个数的较大者
object day29 {
// 定义一个函数
//功能:求三个数的较大者
/*
1.三选一
if(x>=y && x>=z){
x
}else if(y>=x && y>=z){
y
}else{
z
}
2.两次 二选一
var t=if(x>y) x else y
if(t>z) t else z
*/
def max(x:Int,y:Int,z:Int):Int={
var t=if(x>y) x else y
if(t>z) t else z
}
def main(args: Array[String]): Unit = {
val rst=max(1,10,100)
println(s"${rst}")
}
}
求三个数的最大值和最小值
object day30 {
//定义一个函数
//功能:求三个数的最大值和最小值
//注意:函数需要返回多个值
def max(x:Int,y:Int,z:Int):(Int,Int)={
var maxValue=if(x>y) x else y
maxValue=if(maxValue>z) maxValue else z
var minValue=if(x>y) y else x
minValue=if(minValue>z) z else minValue
//println(minValue,maxValue)
(minValue,maxValue)//是一个整体
}
def main(args: Array[String]): Unit = {
val rst=max(150,300,1000)
//访问这个整体中的某个值: ._数字
println(s"最小值是:${rst._1},最大值是:${rst._2}")
}
}