lambdapython语法_Lambda函数的语法结构解析

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

0fd492475e5d493c98f685d7a052e4ab.jpg

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函数的更多视频学习资源,尽在博学谷在线学习平台~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值