主要内容:
1.定义函数
2.函数调用
3.函数规则
4.函数返回多个值
5.元组
(一)定义
格式如下:
要点:
1. 特别注意要写=
2. 返回值类型要指定
(二)函数调用
格式:返回值=函数(参数列表)
代码如下:求两数求和
def getSum(x:Int, y:Int): Int = {
x + y
}
val s = getSum(10,20)
printf(s)
(三)函数规则
讲授
1.只有一行可以省略{}。当Scala的函数体中只有一行表达式时可以省略{},输出结果依然不变。
2.最后一条语句为函数的返回值。当函数体中有多个语句存在时,返回最后一条语句的值。
3.函数的返回类型可以省略。它会自动推断。
4.函数没有形参,在定义函数时可以省略(),那么在调用函数时也不需要添加()
代码如下:返回值
def getMax(x: Int, y: Int): Int = {
if (x > y)
x
else
y
}
(四)函数返回多个值
问:
如何改造上面的代码,让函数返回最大值和最小值数据?
println → 改写()
代码如下:
// 定义一个函数,计算三个数中的最大值和最小值
def getMaxAndMin(x: Int, y: Int, z: Int)= {
// 在函数中,返回多个值!
var max = x // 假设最大值为x
if(y > max) max = y
if(z > max) max = z
// println(s"最大值为: $max")
var min = x // 假设最小值为x
if(y < min) min = y
if(z < min) min = z
// println(s"最小值为: $min")
// 同时返回最大,最小值
// 元组
(min,max)
}
(无)元组
元组:
表示不同类型值的集合,即元组可以用于存放不同类型的元素,例如可以存放整型、字符串、浮点型、自定义类型等等。Scala的元组类型可以使方法同时返回多个值,省略了中间部分的解析和集合的遍历。
定义 元组:
第一种表示方式为:(元素1,元素2,…元素N)
第二种表示方式为:new TupleN(元素1,元素2,…元素N)。N最大为22
访问元组*:
元组通过Tuple_INDEX的方式访问元组中的元素,Tuple表示元组,INDEX表示索引。
代码如下:
t = new Tuple2(1,2); println(t._1, t._2)