函数参数的默认值
1.定义有默认值的函数。
def 函数名(参数1:类型1=默认值1.参数2: 类型2=默认值2)
object base41 {
def hello(name:String="小明",age:Int=17,gender:String="女"):Unit={
println(s"hello,我是${name},${age}岁,性别:${gender}")
}
//
def main(args: Array[String]):Unit={
hello("小花",18,"女")
hello("小明",19,"男")
hello("小花",18) //1.不写性别,默认为女
hello() //2.不写所有参数。全部使用默认值
hello(age=18) //3.设置年龄为18.其他的参数使用默认值
hello(gender = "男",name="小李") //4.默认名字为小李
}
}
定义函数的时候,不写(),那么在调用函数的时候,也不能写()
def test():Unit={
println("test......")
}
def main(args: Array[String]):Unit={
test // 正确
test() // 错误
}
创建接受变参的函数
允许参数的个数不同,类型相同。
变参:参数类型后边,加一个*
object base42 {
def getSum(a:Int*): Int = {
var sum=0
for (i <- args){
sum += i
}
sum
}
def main(args: Array[String]): Unit={
val result1=getSum(1)
val result2=getSum(4,1,2,3,5)
println(result1,result2)
}
}
object base43 {
//判断给定的三遍,能否构成一个三角形?
def testTriangle(a:Double, b:Double, c:Double):Boolean = {
a+b> c && a+c>b && b+c>a
}
//判断一个数是不是为素数
def isPrime(num:Int):Boolean={
var isPrimeNum = true
for (i<-2 to num-1){
if(num % i == 0){
isPrimeNum = false
}
}
isPrimeNum
}
def main(args: Array[String]): Unit={
val r=testTriangle(1.0,2.0,2.0)
println(r)
val r1=isPrime(9)
println(r1)
}
}