1.定义函数
格式:
object Base41 {
//定义一个函数
//1.位置:可以邪在main里,也可以写在外面
//2.要点
// 返回值的类型
// 省略return
//返回值,可以省略return
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);
}
}
2.函数调用
[格式]:返回值=函数(参数)
def getSum(x:Int, y:Int): Int = {
x + y
}
val s = getSum(10,20)
printf(s)
3.函数规则
1.只有一行可以省略{}。当Scala的函数体中只有一行表达式时可以省略{},输出结果依然不变。
2.最后一条语句为函数的返回值。当函数体中有多个语句存在时,返回最后一条语句的值。
3.函数的返回类型可以省略。它会自动推断。
4.没有形参,可以省略()
def getMax(x: Int, y: Int): Int = {
if (x > y)
x
else
y
}
object Base41 {
//定义一个函数
//1.位置:可以邪在main里,也可以写在外面
//2.要点
// 返回值的类型
// 省略return
//返回值,可以省略return
/*
* 特殊的写法
* 1、没有参数列表,可以省略定义函数时的(),那么调用的时候,也不需要再加上()
* 2、函数的最后一条语句为函数的返回值
* 3、如果函数体只有一句代码,则可以省略{}
*/
def getSum(x:Int,y:Int):Int= x + y
def dosomething:Int = {
println("xxx")
1
}
//返回值可以省略return
def max(x:Int,y:Int):Int = {
if(x > y){
x
}else{
y
}
}
def main(args:Array[String]):Unit = {
dosomething
println( getSum(1,2))
//调用函数
val s = max(10,20)
println(s);
}
}
4.函数返回多个值
4.1定义一个函数,求三个数中的最大值和最小值
object Base42 {
/**
* 定义一个函数求三个数中的最大值
*/
def max(x:Int,y:Int,z:Int):Int = {
// if(x > y){
// x
// }else{
// y
// }
val c = if (x>y){
x
}else{
y
}
if( c > z ){ c }else{ z }
}
/**
* 定义一个函数求三个数中的最小值
*/
def min(x:Int, y:Int,z:Int):Int = {
val c = if ( x < y ){ x }else{ y }
if ( c > z ){ z }else{ c }
}
def main(args:Array[String]):Unit = {
//调用函数
val s = max(100,100,100)
println(s);
val m = min(1,10,100)
println(m);
}
}
5.元组
5.1讲元组
元组表示不同类型值的集合,即元组可以用于存放不同类型的元素,例如可以存放整型、字符串、浮点型、自定义类型等等。Scala的元组类型可以使方法同时返回多个值,省略了中间部分的解析和集合的遍历
5.2定义元组:
第一种表示方式为:(元素1,元素2,…元素N)
第二种表示方式为:new TupleN(元素1,元素2,…元素N)。N最大为22