案列1
//gender def greet(name:String="哈哈", age:Int=18, gender:String="女"):Unit = { println(s"我是{age}, ${gender}") }
def main(args: Array[String]): Unit = { greet("小花", 18) // 默认值 greet("小明", 20, "男") greet()
// 设置age为20,其他采用默认值
// 传参数的时候,指定参数的名字
greet(age=20)
greet( gender="男", age=20)
是否省略()
// 如果函数不需要参数,可以在定义函数的时候,省略() def greet():Unit = { println(s"hahaha~~~") }
def main(args: Array[String]): Unit = { //如果定义函数的时候没有写(),那么 在调用函数的时候,也不要加() greet
不同数量参数的用法
// 传入不同的数量的参数 // 第一个参数是学生的名字,从第二个参数开始,是这个学生的某些个学科的得分 // 变参: 允许传入不同个数,但是类型相同的参数 // 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"{avg}") }
def main(args: Array[String]): Unit = { // greet("小花", 90, 100, 98, 100,60) greet("小明", 80, 88) greet("小张", 90) }
定位参数
// 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)