文字有点多

文字有点多,放一起会很卡,所以分开放了.
​​​Scala之 函数式编程 一​

​​​Scala之 函数式编程 二​​​​​

​Scala之 函数式编程 三​

概述

1)面向对象编程
解决问题,分解对象,行为,属性,然后通过对象的关系以及行为的调用来解决问题。
对象:用户;
行为:登录、连接jdbc、读取数据库
属性:用户名、密码
Scala语言是一个完全面向对象编程语言。万物皆对象

2)函数式编程
解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。
例如:请求->用户名、密码->连接jdbc->读取数据库
Scala语言是一个完全函数式编程语言。万物皆函数
3)在Scala中函数式编程和面向对象编程融合在一起了。

函数基本语法

Scala之 函数式编程 一 *_scala

格式:

def 函数名(参数列表): 函数的返回值 = {
// 尽量不用return
// 最后一行代码的值会自动返回
}

函数最后一行的的代码的值会自动返回

案例

object Fun2 {
def main(args: Array[String]): Unit = {
println(add(10, 20)) //30
println(add(100, 200)) //300
}

// 定义函数
def add(a: Int, b: Int): Int = {
a + b
}
}

输出结果

30
300

函数的声明

(1)无参,无返回值

def test(): Unit = {
println("无参,无返回值")
}

(2)无参,有返回值

def test2(): String = {
return "无参,有返回值"
}

val str = test2()
println(str)

(3)有参,无返回值

def test3(s: String): Unit = {
println(s)
}

test3("params1")

(4)有参,有返回值

def test4(s: String): String = {
return s + "有参,有返回值"
}

println(test4("hello "))

(5)多参,无返回值

def test5(name: String, age: Int): Unit = {
println(s"$name, $age")
}

test5("params1", 40)