一: 函数的基本使用
//返回值:
//1.指定返回值类型
//2.函数内 最后一个表达式(最后一句代码)就是函数的返回值
//3.Unit 表示这个函数没有返回值(void)
//参数:
//1.如果没有参数 在定义函数时 可以省略() 在调用函数的时候 就不能添加()
二: 定义函数
// 作用:找到x y中的较大者
def max(x: Int,y: Int):Int = {
if(x > y )
x
else
y
}
//如果没有参数 可以省略()
def say():Unit = {
println("hello world!")
}
def main(args: Array[String]): Unit = {
say()
var rst = max (2,3)//调用函数
println(s"2和3的较大者是:${rst}")
}
}
// 定义函数
// 作用:找到x y z中的最大者
def max(x: Int,y: Int,z: Int):Int = {
//自行修改代码 完成功能
if(x > y )
x
else
y
}
def main(args: Array[String]): Unit = {
var rst = max (2,3,100)//调用函数
println(s"较大者是:${rst}")
}
三: 函数返回多个数据
//作用:找到x y z中的最大者 和 最小值
//(Int,Int)是返回值的类型 表示这个函数的返回值中有两个整数
def max(x:Int,y:Int,z:Int) = {
var maxValue = if(x > y) x else y //x y的较大值
maxValue = if (maxValue >z) maxValue else z
var minValue = if(x < y) x else y
minValue = if (minValue < z) minValue else z
//返回一个容器 包含两个值
(minValue,maxValue)
}
def main(args: Array[String]): Unit = {
var rst = max(100,20,200) //调用函数
println(s"最小值是:${rst._1},较大者是:${rst._2}")
}
四: 元组
def main(args: Array[String]): Unit = {
// 元组:把数据放在一个容器
var rst = (1,"a",1.75,"hello",true,2)
// 访问元组的数据 ._数学编号
println(rst._6)
}
五:参数默认值
//参数默认值:如果在调用的时候 没有传入 就使用这个默认值
def greet(name:String="小张",age:Int=17,gender:String="女"):Unit = {
println(s"你好,我是${name},今年${age}岁,性别是:${gender}")
}
def main(args: Array[String]): Unit = {
greet ("小王",18,"女")
greet("小王",18)
greet("小王")
greet()
//设置年龄为20,其他两个参数使用默认值
greet(age=20)
greet(gender="男",age=20)
}