1:函数参数的默认值
object basic30 {
//参数默认值:如果在调用的时候,没有传入
//格式:参数名:类型= 默认值
def greet(name:String="小张",age:Int=17,gender:String="女"):Unit={
println(s"你好,我是${name},我今年${age}岁,我的性别是:${gender}")
}
def main(args: Array[String]): Unit = {
greet("小花",18,"女")
greet("小花",18)
greet("小花")
greet()
//设置年龄为20,其他两个参数使用默认值
greet(age=20)
greet(gender="男",age=20)
}
}
运行结果:
你好,我是小花,我今年18岁,我的性别是:女
你好,我是小花,我今年18岁,我的性别是:女
你好,我是小花,我今年17岁,我的性别是:女
你好,我是小张,我今年17岁,我的性别是:女
你好,我是小张,我今年20岁,我的性别是:女
你好,我是小张,我今年20岁,我的性别是:男
object Main {
def f(n:Int):Int = {
if(n == 1){
1
}else{
f(n-1) + n
}
}
def main(args: Array[String]): Unit = {
val rst = f(100)
println(rst)
}
}
改变一个符号,让结果为阶乘
(结合以上代码)
object Main {
def f(n:Int):Int = {
if(n == 1){
1
}else{
f(n-1) * n
}
}
def main(args: Array[String]): Unit = {
val rst = f(4)
println(rst)
}
}
可变参数
- 可变参数:用来接收同一类型的多个参数
- 格式:参数类型*
例题一
如何定义一个函数,它能接收数量不定的参数,并计算它们的累加?例如:getSum(1,2,3)得到6,getSum(1,2,3,4)得到10
scala
体验AI代码助手
代码解读
复制代码
/**可变参数:用来接收同一类型的多个参数
* 格式:参数类型*
* 要点:
* 1. 类型要一致
* 2. 可变参数必须在列表的最后
*/
def getSum(args:Int*):Int={
var sum=0
for(i <- args){
sum +=i
}
sum
}
def main(args: Array[String]): Unit = {
val rst1=getSum(1,2,3)
val rst2=getSum(1,2,3,4)
val rst3=getSum(1,2)
println(rst1,rst2,rst3)
}
上述代码输出的结果为(6,10,3)