函数参数

64 阅读1分钟

函数参数的默认值

1.代码如下:


def greet(name:String="哈哈",age:Int=18, gender:String="女"):Unit = {
  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)
  

}

object base37 {
  // 传入不同的数量的参数
  //第一个参数是学生的名字,从第二个参数开始,是这个学生的某些个学科的得分
  //变参:允许传入不同个数,但是类型相同的参数
  //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 base38 {
  // 1.可能会导致死循环
  //2.适合解决一类问题:
  // (1)可以把大问题,拆分成同类的小问题
  // (2)当问题足够小的时候,可以直接求解

  //f(n) = 1 + 2 + 3 + 4 + ... + n
  //(f(100) = 1 + 2 + 3 + 4 + ... +99 + 100



  // 1 + 2 + 3 + 4 + ... + n
   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)
  }

}