函数的参数

64 阅读1分钟

函数参数的默认值

    1. 不写性别,默认为女
    1. 不写所有参数,全部使用默认值
    1. 设置年龄为18,其他的参数使用默认值
  • 4.设置名字为小李,性别为男,年龄使用默认
object Base42 {
  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)
    hello()          
    hello(age = 18)   
    hello(name="小李",gender="男") 
  }
}
  • 定义函数的时候,不写(),那么在调用函数的时候,也不能写()
def test: Unit ={
println("test.....")
}

def main(args: Array[String]): Unit = {
test //正确
test() //错误
}

创建接受变参的方法

  • 允许参数的个数不同,类型相同
  • 变参:参数类型后边,加一个*
object Base43 {
  def getSum(args: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 Base44 {
  def testTriangle(a:Double,b:Double,c:Double):Boolean = {
    a+b>c && a+c>b && a+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,3.0)
    println(r)

    val r1 = isPrime(9)
    println(r1)

  }
}