函数参数

28 阅读1分钟

函数参数的默认值

object Sc36 {
  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(gender = "男",name = "小李")
  }
}

函数变参的方法

object Sc37 {
  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)
  }
}

提取函数返回值

案例: 1.定义一个函数,判断给定的三个数字是否能构成一个三角形,返回值为bool类型。 2.参数有三个,表示三条边,可以使用double类型; 任意两边之和大于第三边即可。

object Sc38 {
  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) // false
    val r1 = isPrime(9)
    println(r1)
  }
}