在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
说到Lambda函数的语法结构,我想问大家一个问题,什么是Lambda表达式?众所周知,Lambda表达式是一个匿名函数,简单来讲就是没有函数名的函数,它还可以表示闭包。Lambda函数的出现简化了代码,它的语法结构可以这样写:(variable)->action。下面将详细为大家解析Lambda函数的语法结构,感兴趣的朋友可以接着看下去。
1、Lambda的函数的语法结构:
(variable)->action
2、语法结构成分解析:
(1)variable:方法的变量名称,可以有多个变量,如果只有一个变量,可以将小括号省略。
(2)action:是方法体,是自己写的代码逻辑的部分。可以是一行代码或者多行代码,如果只有一行代码,可以不要花括号,如果是多行代码,需要用花括号括起来。
(3)-> :这个符号用于将变量和方法体分割开来。
(4)代码示例:
public class Demo1 {
//没有参数的运算
interface NoParamOperation {
double operation();
}
//一个参数的运算
interface SingleParamOperation {
int operation(int a);
}
//两个参数的运算
interface MathOperation {
double operation(double a, double b);
}
public static void main(String[] args) {
//======几种Lambda表达式的写法=============
//得到PI值(没有参数,直接返回)
NoParamOperation pi = () -> Math.PI;
//得到自然常数 (没有参数,直接返回,如果有花括号,要写上显式的加上return)
NoParamOperation e = () -> {
return Math.E;
};
//求平方(如果参数是一个,可以省略小括号)
SingleParamOperation square = a -> a * a;
//求立方(可以指定参数的类型,如果没有编译器会自动推算)
SingleParamOperation cubic = (int a) -> a * a * a;
//加法(如果多个参数,就必须添加上小括号)
MathOperation add = (double a, double b) -> a + b;
//减法(多个参数,也可以不指定参数的数据类型)
MathOperation sub = (a, b) -> a - b;
//乘法(一行代码,函数体上也可以写上花括号)
MathOperation mult = (double a, double b) -> {
return a * b;
};
//除法(如果函数体有多行,就必须有花括号)
MathOperation div = (a, b) -> {
if (b != 0) {
return a / b;
} else {
return 0;
}
};
System.out.println("PI的值" + pi.operation());
System.out.println("自然常数E的值:" + e.operation());
System.out.println("10的平方:" + square.operation(10));
System.out.println("10的立方:" + cubic.operation(10));
System.out.println("20+10:" + add.operation(20, 10));
System.out.println("20-10:" + sub.operation(20, 10));
System.out.println("20*10:" + mult.operation(20, 10));
System.out.println("20/10:" + div.operation(20, 10));
}
}
3、Lambda函数的简化表示:
方法引用是Lambda表达式的一种简写,格式为:ObjectRef::methodName。有三种方法引用类型,分别是静态方法引用、实例方法引用、构造方法引用。
(1)ObjectRef可以是类名、实例名。
(2):: 符号是方法引用符号。
(3)#methodName 是引用的方法名。
以上就是Lambda函数的语法结构解析,大家都看懂了吗?关于Lambda函数的更多视频学习资源,尽在博学谷在线学习平台~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
新手学Python可行吗?需要什么基础?
新手学Python可行吗?其实Python可以说是最适合新手学习的编程语言。为什么这么说呢?难道学Python不需要什么基础吗?其实如果学习者有一定的计算机基础,学Python会更快,但是没基础也能学好Python,只要肯下功夫。大家了解了新手学Python的可行性之后,还要掌握零基础如何学习Python的方法,毕竟自信和决心只是学习的第一步。
5365
2019-08-19 13:38:17
Python调试常见异常汇总
在调试Python程序过程中,难免会遇到各种各样的异常情况。一般情况下,异常可能是因为开发者在编写程序的时候疏漏或者考虑不周全导致的。在开发过程中异常是不可避免的,当你遇到异常的时候回立刻反应他的问题所在吗?为了让大家更好的认识这些常见的异常,博学谷小编将Python调试过程中会产生的异常进行了整理。推荐大家收藏。
5940
2019-10-29 14:56:21
从事数据科学Python和R语言学哪个好?
从事数据科学Python和R语言学哪个好?答案肯定是学Python更好,当然也不是就完全否定了学习R语言的作用和意义。只是和R语言比较起来,Python的优势更加明显。首先,Python应用场景更加广泛,且上手简单,在数据处理方面有着强大的能力。因此,如果是从事数据科学的朋友,选择学习Python会更好。
5332
2020-02-21 18:52:17
为什么说Python入门容易精通难?
Python应用领域广泛,没有具体的学习方向学完基础知识之后会很迷茫,应先确定好学习方向,按照这个学习方向建立学习路径规划。Python 非常适合初学者上手,相比较于其他主流编程语言其语言环境更接近自然语言,具备良好的可读性。
4115
2021-04-01 16:57:38
连接查询内连接的SQL语句怎么写?
连接查询内连接的SQL语句怎么写?内连接查询即所有查询出的结果都是能够在连接的表中有对应记录。在项目开发过程中有很多需求都是要涉及到多表的连接查询,因此作为程序员必须掌握连接查询内连接的SQL语句。
3761
2022-01-18 12:00:14