方法定义的语法:
def 方法名称(参数列表):返回类型=方法体
返回类型在方法是递归方法的时候必须指明,其他情况,可以省略。
object HelloWorld { def main(args: Array[String]): Unit = { println("hello world") println(add(1, 2)) println(add2(1, 2)) println(add3(1, 2)) println(add3(x = 1, y = 2)) add4(1, 2) println(addAndMultiply1(3, 4, 5)) println(addAndMultiply2(3, 4)(5)) println(addAndMultiply3(3)(4)(5)) //定义无参方法的时候没有小括号,调用的时候也不可以加小括号 printInfo //定义无参方法的时候有小括号,调用的时候可以加小括号,也可以不加小括号 printInfo1 printInfo1() //不写参数值,使用默认参数 printInfo2() //填写参数值,替代默认参数 printInfo2("hello world") add5(1, 2) add5(1, 2, 3) add5(b = 2) add6(1) add6(1, 2, 3) } def add(x: Int, y: Int): Int = x + y def add2(x: Int, y: Int) = x + y def add3(x: Int, y: Int) = { x + y } def add4(x: Int, y: Int) = { x + y println(x + y) } // 带有参数列表的方法: def addAndMultiply1(x: Int, y: Int, z: Int) = (x + y) * z def addAndMultiply2(x: Int, y: Int)(z: Int) = (x + y) * z def addAndMultiply3(x: Int)(y: Int)(z: Int) = (x + y) * z //无参方法:不加小括号 def printInfo = println("i love scala") //无参方法:加小括号 def printInfo1() = println("i love scala") //带有默认参数的方法 def printInfo2(str: String = "Hello Scala") = println(str) def add5(a: Int = 1, b: Int, c: Int = 3) = println("a=" + a + " b=" + b + " c=" + c) //可变长参数的方法 def add6(a: Int*) = { for (i <- a) println(i) } } |