函数的基本使用

49 阅读2分钟

基本使用:

1. 函数的定义;

2. 函数的调用;

3. 函数的返回值。

导入:

Scala既是一个面向对象编程的语言,也是一个面向函数编程的语言。Scala中的函数和方法的语法是相同的,只是意义不同。Java中并没有函数和方法的区分,因为Java是面向对象编程的语言。

定义函数
object def01 {
  // 定义一个函数
  // 功能:1,求两个数的较大值
  //      2,求三个数的最大值
  // 格式:
  // 1,有一个 =
  // 2,返回值类型:
  //     函数内的最后一个表达式或者语句的值,就是函数的返回值
  //     Unit 表示没有返回值,调用这个函数时,不会接收到任何的处理结果。
  /*
   2,求三个数的最大值
    分析:I:三选一
    if(x>=y && x>=z){
      x
    }else if(y>=x && y>=z){
      y
    }else{
      z
    }
    II:两次 二选一
    var t = if(x>y) x else y
    if(t>z) t else z
   */
  def max(x:Int,y:Int):Int = {
    val t = if(x>y) x else y

    t// 就是返回值
  }
  // 如果一个函数不需要参数,可以省略
  def say():Unit = {
    println("hahahaha~")
  }
  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 xxy2 {
  // 定于一个函数
  // 功能:求三个数的最大值和最小值。
  // 注意:函数需要返回多个值。
  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(1000,200,100)
    // 访问这个整数中的某个值:._数字
    println(s"最小值:${rst._1},最大值:${rst._2}")
  }
}
元组

元组表示不同类型值的集合,即元组可以用于存放不同类型的元素,例如可以存放整型、字符串、浮点型、自定义类型等等。Scala的元组类型可以使方法同时返回多个值,省略了中间部分的解析和集合的遍历。

定义元组:

第一种表示方式为:(元素1,元素2,…元素N)

第二种表示方式为:new TupleN(元素1,元素2,…元素N)。N最大为22

object xxy3{
  def main(args: Array[String]): Unit = {
    //元组:容器,可以装入不同的数据类型的数据
    //1,定义一个元组,使用()把数据包起来
    var t = (1,"1",1.2,false,0)
    //2,取出元素,通过._数字序号来访问
    //取出1,2
    println(t._3)
    //取出false
    println(t._4)
  }
}