手记

【学习打卡】第5天 java函数式编程

第一模块

课程名称: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提供的一些基本函数组合方式:


第四模块

学习截图:



0人推荐
随时随地看视频
慕课网APP