定义 函数
格式如下:
函数的规则
1.只有一行可以省略{}。当Scala的函数体中只有一行表达式时可以省略{},输出结果依然不变。
2.最后一条语句为函数的返回值。当函数体中有多个语句存在时,返回最后一条语句的值。 exrsxddc 3.函数的返回类型可以省略。它会自动推断。
4.函数没有形参,在定义函数时可以省略(),那么在调用函数时也不需要添加()
object basic32 {
/**
*
*函数的基本使用
* 返回值:
* 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 wrold!")
}
def main(args: Array[String]): Unit = {
say()
var rst = max(2,3)//调用函数
println(s"2 和 3中的较大者是:${rst}")
}
}
三者比较大小
object basic33 {
/**
*
*函数的基本使用
* 返回值:
* 1.指定返回类型
* 2.函数内,最后一个表达式(最后一句代码)就是函数的返回值
* 3.Unit 表示这个函数没有返回值(void)
*
* 参数
* 1.如果没有参数,在定义函数时,可以省略(),在调用函数的时候,就不能添加()
*/
//定义函数
//作用:找到x,y,z中的较大者
/* (1)
def max(x:Int, y: Int,z: Int):Int = {
if(x>=y && x>=z)
x
else if(y>=x && y>=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)= {
val rst = if (x > y) x else y
if (rst > z) rst else z
}
def main(args: Array[String]): Unit = {
var rst = max(2,3,100)//调用函数
println(s"最大值是:${rst}")
}
}
比较最大值和最小值
object basic34 {
//函数返回多个数据
//作用:找到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 //x,y的较小者
maxValue = if(maxValue>z) maxValue else y
minValue= if(minValue>z) minValue else z
//返回一个容器,包含两个值
(minValue,maxValue)
}
def main(args: Array[String]): Unit = {
var rst = max(2,3,100)//调用函数
println(s"较小值是:${rst._1},较大值是${rst._2}")
}
}