函数的基本使用

36 阅读2分钟

定义函数

格式如下:

屏幕截图 2025-10-09 091243.png

函数调用

格式:返回值=函数(参数) 两数求和

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)