-
函数
max的设计:- 目的是返回三个整数的最大值和最小值,返回类型为元组
(Int, Int) - 首先通过两次比较计算最大值
- 目的是返回三个整数的最大值和最小值,返回类型为元组
-
主方法
main:- 调用
max(1000, 200, 100)并接收返回的元组 - 通过
_1和_2访问元组中的最小值和最大值
- 调用
// 定义一个函数
// 功能:求三个数的最大值和最小值。
// 注意:函数需要返回多个值:把要返回的数据使用()包在一起,成为一个整体
def max(x: Int, y: Int, z: Int): (Int, Int) = {
var maxValue = if(x>y) x else y
maxValue = if(maxValue>z) maxValue else z
var minValue = if(x<y) x else y
minValue = if(minValue<z) z else minValue
// println(minValue, maxValue)
(minValue, maxValue) // 是一个整体
}
def main(args: Array[String]): Unit = {
val rst = max(1000, 200, 100)
// 访问这个整体中的某个值:_数字
println(s"最小值是:${rst._1}, 最大值是:${rst._2}")
}
1. 函数定义:greet 函数
-
功能:打印一句包含姓名、年龄、性别的自我介绍。
-
参数特点:所有参数都设置了默认值(这是核心):
-
返回值类型:
Unit(表示无返回值,类似 Java 中的void)
2. 主方法 main:调用 greet 函数的多种方式
main 方法是程序入口,通过不同传参方式调用greet,展示了 Scala 中参数传递的灵活性:
(1)greet("小花", 18)
- 按参数顺序传递前两个参数(
name="小花",age=18),第三个参数gender未传递,使用默认值 “女”。 - 输出:
我是小花,我今年18,女
(2)greet("小明", 20, "男")
- 按顺序传递所有三个参数,覆盖默认值。
- 输出:
我是小明,我今年20,男
(3)greet()
- 不传递任何参数,所有参数都使用默认值(
name="哈哈",age=18,gender="女")
(4)greet(age=20)
- 使用命名参数(指定参数名
age),只传递age=20,其他参数(name、gender)使用默认值
(5)greet(gender = "男", age=20)
- 混合使用命名参数,且参数顺序可以和定义时不同(先传
gender,再传age),未指定的name使用默认值 “哈哈”
// gender:
def greet(name: String = "哈哈", age: Int = 18, gender: String = "女"): Unit = {
println(s"我是${name},我今年${age},${gender}")
}
def main(args: Array[String]): Unit = {
greet("小花", 18) // 默认值
greet("小明", 20, "男")
greet()
// 设置age为20,其他采用默认值
// 传参数的时候,指定参数的名字
greet( age=20 )
greet( gender = "男", age=20 )
}