培训啦 Python

Lambda函数的语法结构解析

教培参考

教育培训行业知识型媒体

发布时间: 2024年11月24日 23:35

2024年【Python】报考条件/培训费用/专业咨询 >>

Python报考条件是什么?Python培训费用是多少?Python专业课程都有哪些?

点击咨询

说到Lambda函数的语法结构,我想问大家一个问题,什么是Lambda表达式?众所周知,Lambda表达式是一个匿名函数,简单来讲就是没有函数名的函数,它还可以表示闭包。Lambda函数的出现简化了代码,它的语法结构可以这样写:(variable)->action。下面将详细为大家解析Lambda函数的语法结构,感兴趣的朋友可以接着看下去。

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函数的更多视频学习资源,尽在教育培训网在线学习平台~

985大学 211大学 全国院校对比 专升本

温馨提示:
本文【Lambda函数的语法结构解析】由作者教培参考提供。该文观点仅代表作者本人,培训啦系信息发布平台,仅提供信息存储空间服务,若存在侵权问题,请及时联系管理员或作者进行删除。
我们采用的作品包括内容和图片部分来源于网络用户投稿,我们不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系我站将及时删除。
内容侵权、违法和不良信息举报
Copyright @ 2024 培训啦 All Rights Reserved 版权所有. 湘ICP备2022011548号 美国留学 留求艺