基本使用:
1. 函数的定义;
2. 函数的调用;
3. 函数的返回值。
导入:
Scala既是一个面向对象编程的语言,也是一个面向函数编程的语言。Scala中的函数和方法的语法是相同的,只是意义不同。Java中并没有函数和方法的区分,因为Java是面向对象编程的语言。
定义函数
object def01 {
// 定义一个函数
// 功能:1,求两个数的较大值
// 2,求三个数的最大值
// 格式:
// 1,有一个 =
// 2,返回值类型:
// 函数内的最后一个表达式或者语句的值,就是函数的返回值
// Unit 表示没有返回值,调用这个函数时,不会接收到任何的处理结果。
/*
2,求三个数的最大值
分析:I:三选一
if(x>=y && x>=z){
x
}else if(y>=x && y>=z){
y
}else{
z
}
II:两次 二选一
var t = if(x>y) x else y
if(t>z) t else z
*/
def max(x:Int,y:Int):Int = {
val t = if(x>y) x else y
t// 就是返回值
}
// 如果一个函数不需要参数,可以省略
def say():Unit = {
println("hahahaha~")
}
def main(args: Array[String]): Unit = {
val rst = max(1,100)
println(s"${rst}")
// 调用一个没有()的函数,也不要加()
say
}
函数调用
格式:返回值=函数(参数列表)
两数求和
def getSum(x:Int, y:Int): Int = {
x + y
}
val s = getSum(10,20)
printf(s)
函数的返回值
object xxy2 {
// 定于一个函数
// 功能:求三个数的最大值和最小值。
// 注意:函数需要返回多个值。
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) y else x
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}")
}
}
元组
元组表示不同类型值的集合,即元组可以用于存放不同类型的元素,例如可以存放整型、字符串、浮点型、自定义类型等等。Scala的元组类型可以使方法同时返回多个值,省略了中间部分的解析和集合的遍历。
定义元组:
第一种表示方式为:(元素1,元素2,…元素N)
第二种表示方式为:new TupleN(元素1,元素2,…元素N)。N最大为22
object xxy3{
def main(args: Array[String]): Unit = {
//元组:容器,可以装入不同的数据类型的数据
//1,定义一个元组,使用()把数据包起来
var t = (1,"1",1.2,false,0)
//2,取出元素,通过._数字序号来访问
//取出1,2
println(t._3)
//取出false
println(t._4)
}
}