函数的基本使用

35 阅读1分钟

定义一个函数

1.位置:可以在main里面,也可以写在外面

2·要点:一:返回值的类型,二:省略return

object w29 {
  def max(x:Int,y:Int):Int = {
    if (x>y){
      x
    }else{
      y
    }
  }

  def main(args: Array[String]): Unit = {
    val s = max(10,20)
    println(s);
  }
}

特殊的写法

没有参数列表,可以省略定义函数时的(),那么调用的时候,也不需要再加上()

object w29 {
  def po ={
    println("xxx")
  }
  def main(args: Array[String]): Unit = {
    po
  }
}

如果函数只有一句代码,则可以省略{}

object w29 {
  def so(x:Int,y:Int):Int = x+y
  def main(args: Array[String]): Unit = {
    val s = max(10,20)
    println(s);
    println(so)
  }
}

比较3个数哪个最大

第一种·

object w30 {
  def max(x:Int,y:Int,z:Int):Int = {
    if (x>=y && x>=z){
      x
    }else if(z >= y && z>=x){
      z
    }else{
      y
    }
  }

  def main(args: Array[String]): Unit = {
    val s = max(10,20,5)
    println(s);
  }
}

第二种·

object w31 {
  def max(x:Int,y:Int,z:Int):Int = {
  val c =if (x>y){
    x
    }else {
      y
    }
    if (c>z){c}else{z}
  }

  def main(args: Array[String]): Unit = {
    val s = max(10,20,5)
    println(s);
  }
}

比较3个数哪个最小

object w31 {
  def min(x:Int,y:Int,z:Int):Int={
    val e=if(x<y){x}else{y}
    if(e<z){e}else{z}
  }
  def main(args: Array[String]): Unit = {
    val m = min(1,100,1000)
    println(m)
  }
}

定义一个函数,返回三个数中的最大值和最小值

object w32 {
  //定义一个函数,返回三个数中的最大值和最小值
  def getMaxandMin(x: Int, y: Int, z: Int): (Int, Int) = {
    var min: Int = x
    var max: Int = x
      min = if (x < y) { x } else { y }
      min = if (min < z) { min } else { z }

    max = if (x < y) { y } else { x }
    max = if (max < z) { z } else { max }

    (min, max)
  }

  def main(args: Array[String]): Unit = {
    // 调用函数
    val r = getMaxandMin(10, 20, 5)
    println(s"最小值 ${r._1}")
    println(s"最大值${r._2}")
  }