函数参数的默认值
- 定义有默认值的函数
格式:def 函数名(参数1:类型1=默认值1,参数2:类型2=默认值2)
如下:
scala
体验AI代码助手
代码解读
复制代码
def gree(name:String="嘻嘻",age:Int,grnder:String="女"):Unit = {
println(s"我是${name},我今年${age},${grnder}")
}
def main(args: Array[String]): Unit = {
gree("小花",18) //默认值为 “女”
gree("小杰",20,"男")
}
// 设置age为20 其他采用默认值
// 传参数的时候 指定参数的名字
gree(age = 22)
gree(grnder = "男" ,age=20)
//运行结果
我是嘻嘻,我今年22,女
我是嘻嘻,我今年20,男
我是小花,我今年18,女
我是小杰,我今年20,男
我是嘻嘻,我今年19,女
- 创建不带( )的方法
如果函数没有参数,可以省略定义函数时的( )
如果在定义函数的时候没有写() 那么 在调用函数的时候 也不要加()
格式:def 方法名:[返回类型]={}。
如下:
scala
体验AI代码助手
代码解读
复制代码
def sayHello: Unit = {
println("hello")
}
sayHello // 不用加()
scala
体验AI代码助手
代码解读
复制代码
def gree():Unit = {
println(s"hahahaha~~~")
}
def main(args: Array[String]): Unit = {
// 如果在定义函数的时候没有写() 那么 在调用函数的时候 也不要加()
gree()
}
满足以下要求:
传入不同的参数的函数
第一个参数是学生的名字;从第二个参数开始,是这个学生的某些个学科的得分
注意:允许传入不同个数,但是类型相同的参数
代码如下:
scala
体验AI代码助手
代码解读
复制代码
// Int*
// score 是一个列表
//array 数组
def greet(name: String, score: Int*): Unit = {
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, 80)
greet("小绿", 90)
}
运行结果:
scala
体验AI代码助手
代码解读
复制代码
小花,平均分是:89.6
小明,平均分是:80.0
小绿,平均分是:90.0
创建接受变参的方法
在Scala中创建接受变参的方法为:参数类型*,这种方式只能接受同一类型的参数。