第一模块
课程名称:JAVA 函数式编程
章节名称:1-1 ~ 1-3
讲师姓名:接灰的电子产品
第二模块
内容概述:
1-1 ~ 1-3 这三个章节主要介绍了啥是函数式编程,为啥会出现函数式编程,函数式编程的出现解决了啥问题,相比于匿名内部类他的优点是啥。函数式编程的特点:高阶函数、纯函数、lamda表达式等。
第三模块
学习心得:
通过本课程的学习使我系统的掌握了java函数式编程的知识,知道了函数式接口的判断条件(一个接口有且只有一个未实现的非静态方法,这种接口才叫函数式接口)、方法引用(lamda表达式的简写),知道了编程风格的演进,在日常开发中引用函数式编程。下面附上学习笔记:
1-1 课程介绍
java11 是一个官方推荐的长期维护版本
课程内容:
1-2 函数式编程介绍
java 8 9 10 11
11 之后变成了每半年升级一次
啥是函数式编程:
函数式编程中函数会作为一等公民而存在,可以将函数作为一个值进行传递。
是一种编程范式,是一种声明式的编程形式;比起【指令式编程】函数编程更强调程序执行的结果而不是执行的过程,推崇使用简单的执行单元来使计算结果不断递进,逐层推导出复杂的运算结果,而不是像【指令式编程】一样设计出一个复杂的过程。
在java中函数式编程指的就是lamda表达式(箭头函数)、流、函数式接口、方法引用
eg:
下一步的输入依赖上一步的结果,而不是一个中间的状态
函数式带来的好处:
让编程变的更简单,更语义化
代码简化实例:
匿名内部类写法存在的问题:
可读性太差、写法不好看(代码像有个大肚子,不好看)
所以,引入函数式编程,从而完美解决上面的问题!!!
指令式编程 VS 函数式编程 对比实例:
指令式编程:
函数式编程:
可以发现:代码更专注结果,让代码的语义直奔结果而去!!!
从而大大提高代码的可读性!!!
1-3 函数式编程的特点
这个特点是所有函数式编程语言都有的,并不仅仅只是java!!!
特点:1
eg:
特点:2
高阶函数:函数的参数可以是一个/多个函数;函数的返回值也可以是一个函数
eg:
特点:3
Lamda表达式(箭头函数)
能看懂方法引用会使用常用的方法引用就ok了
常用方法引用举例:
小技巧:
在能使用方法引用的时候idea会用【黄色波浪线】提示我们,这时我们按照提示改造一些就好了!!!
eg:
java的函数式接口:
有且只有一个没有实现的非静态方法的接口,才叫函数式接口
(这个接口只有一个未实现的方法,且非静态)
内置的函数式接口(JDK提供的):
函数最大的特点就是可以进行组合:
通过一些运算符可以将函数串联起来,形成更丰富的效果!!!
通过【一系列的简单运算】,可以形成一个复杂的运行结果!!!
java提供的一些基本函数组合方式:
第四模块
学习截图: