函数的基本使用
返回值
- 定义函数,在函数中写出所要表达的作用
- 再调用函数,返回作用所要的结果。
- 函数内,最后一个表达式(最后一句代码)就是函数的返回值。
- Unit:表示这个函数没有返回值(void)
参数
- 如果没有参数,在定义函数时,可以省略()。在调用函数的时候,就不能添加()
基本例子
/**
* 函数的基本使用
*返回值:
* 1.制定返回值类型(“():”后面的Int,Unit等)
* 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}")
}
案例二
/**
* 分析:
* (1)三选一
* if(x>=y && x>=z)
* x
* else if(y>=x && y>=z)
* y
* else
* z
* (2)两个之间先选出一个较大者,较大者再与剩下那个中选择一个
* val rst=if(x>y) x else y
* if(rst>z)
* rst
* else
* z
*/
def max(x:Int,y:Int,z:Int):Int={
val rst=if(x>y) x else y
if(rst>z)
rst
else
z
}
def main(args: Array[String]): Unit = {
var rst=max(2000,300,10000) //调用函数
println(s"max中较大者是:${rst}")
}
案例三
//函数返回多个数据
//作用:找到x,y,z中的最大者和最小者
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) x else y
minValue=if(minValue<z) minValue else z
//返回一个容器,包含两个值
(minValue,maxValue)
}
def main(args: Array[String]): Unit = {
var rst=max(200,30,1000) //调用函数
println(s"最小者是:${rst._1},最大者是:${rst._2}")
}
元祖
表示不同类型值的集合,即元组可以用于存放不同类型的元素,例如可以存放整型、字符串、浮点型、自定义类型等等。Scala的元组类型可以使方法同时返回多个值,省略了中间部分的解析和集合的遍历。
定义元组
- 第一种表示方式为:(元素1,元素2,…元素N)
- new TupleN(元素1,元素2,…元素N)。N最大为22
访问元祖基本例子
def main(args: Array[String]): Unit = {
//元祖:把数据放在一个容器里
var rst=(1,"a",1.75,"hello",true,2)
//访问元祖的数据 ._数学编号
println(rst._6)
}