scala中参数默认值

57 阅读1分钟

(一) 格式

def 函数名(参数1:类型1=默认值1,参数2:类型2=默认值2)

object basew11 {
  // gender
  def greet(name:String="哈哈", age:Int=18, gender:String="女")= {
    println(s"我是&{name},我今年&{age},${gender}")
  }
  def main(args: Array[String]): Unit = {
    greet("小花", 18) // 默认值
    greet("小明", 20, "男")
    greet()
    //设置age为20,其他采用默认值
    //传参数的时候,指定参数的名字
    greet(age=20)
    greet(gender="男",age=20)
  }
}

(二) 创建不带()的方法

如果函数没有参数,可以省略定义函数时的( )

格式:def 方法名:[返回类型]={}


object base111 {

//传入不同数量的参数
//第一个参数是学生的名字,从第二个参数开始,是这个学生的某些个学科的得分
//变参:允许传入不同个数,但类型相同的参数
//Int*
//array数组
    def greet(name: String, score: Int*): Unit = {
    //score 是一个列表
      var total: Double = 0
      for (i <- score) {
        total += i
      }
      val avg = total / score.length
      println(s"${name},平均分:${avg}")
    }

    def main(args: Array[String]): Unit = {
      greet("小花", 90, 100, 98, 100,60)
      greet("小明", 80, 88)
      greet("小绿", 90)
    }
}

(三) 递归代码

object base111 {
  //递归代码
  //适合解决一些问题:
  // 可以把大问题,拆分成同类的小问题
  // 当问题足够小的时候,可以直接求解。

  def sum(n: Int): Int = {
    if (n == 1) {
      1
    } else {
      sum(n - 1) + n
    }
  }

  def main(args: Array[String]): Unit = {
    val s = sum(100)
    println(s)
  }
}

eg: 求阶乘

object basss11 {
  def sum(n: Int): Int = {
    if (n == 1) {
      1
    } else {
      sum(n - 1) * n
    }
  }

  def main(args: Array[String]): Unit = {
    val s = sum(4)
    println(s)
  }
}
  • 完结撒花 !!!!!!!!!!
  • 制作不易 希望·一键三连 在此感谢关注的粉丝宝宝
  • 新来的宝宝可以关注下主播哟!!!!!