`
jobar
  • 浏览: 349044 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lambda表达式基础(1)-什么是Lambda表达式

 
阅读更多
什么是lambda表达式
从数学和计算的角度来看,一个lambda表达式就是一个函数:对于部分 或者全部输入值的组合,它会产生出一个特定的输出。在java语言中Lambda表达式引入了函数式编程的思想。按照java传统术语来解释看,Lambda可以被理解为一种有更复杂语法的匿名方法,可以忽略修饰符,返回类型,在某些情况下参数类型同样可以省略。
语法:
Lambda的基本语法类似于:
    (参数) -> 表达式
或者
    (参数) -> { 语句; }
例如
1. (int x, int y) -> x + y                          //输入两数字返回他们的和
2. (x, y) -> x - y                                  //输入两数字返回他们的差
3. () -> 42                                         //无参数返回42
4. (String s) -> System.out.println(s)       //输入字符从将值打印到控制台,什么也不返回
5. x -> 2 * x                                       // 输入一个整数,返回两倍值
6. c -> { int s = c.size(); c.clear(); return s; }  //输入一个集合,返回它的大小并清空。
语法注意事项:
(1)参数类型可能是显式声明的(例1,4)或者隐式推断的(例2,5,6)。在一个Lambda表达式中可以混合使用显式或隐式参数
(2)Lambda的body部分可以是一个代码块(由"("包含起来,例6)或者是一个表达式(例1-5)
(3)如果body是一个表达式,那么可以返回一个值(例1,2,3,5)或者什么也不返回(例4)
(4)如果是单一隐式类型的参数,可以忽略括号(例5,6)
(5)在第六个例子中,Lambda可以作用在集合上。同样的,依赖于它所处的上下文,可以作用在某种类型的一个对象上,这种类型同样有size和clear方法且有适当的参数和返回类型

原文链接:http://www.lambdafaq.org/what-is-a-lambda-expression/
分享到:
评论

相关推荐

    核心基础-利用lambda表达式简化编程-Python实例源码.zip

    本资源"核心基础-利用lambda表达式简化编程-Python实例源码.zip"提供了关于如何使用lambda表达式进行编程的实例源码,涵盖了自动化、数据分析、游戏开发以及网络爬虫等多个应用领域。 首先,我们来深入理解lambda...

    Java 8 lambda表达式

    1. **Lambda表达式的基本语法** Lambda表达式的一般形式是`param -> expression`,其中`param`代表参数列表,`->`是lambda运算符,`expression`是函数体。对于没有参数的lambda,可以省略参数的括号;如果只有一个...

    Lambda表达式--凌尘.pptx

    【Lambda 表达式】是 Java 8 中的一项重大新特性,它引入了一种更为简洁的...通过 Lambda 表达式、Stream API、新的日期时间API以及内存模型的改进,Java 8 提升了开发效率和代码质量,成为了现代Java开发的重要基础。

    Java:解锁Lambda表达式的魔法-从零开始的函数式编程之旅

    在这个例子中,`increment`是一个Lambda表达式,它接收一个整型参数`x`,并返回`x + 1`的结果。这行代码比使用传统的匿名内部类更加简洁,同时保持了代码的可读性。 #### 二、函数式接口:Lambda的舞台 为了让...

    一份易上手的C# Lambda表达式入门学习资料

    Lambda表达式是什么? -------------------- Lambda表达式是一种匿名函数,类似于函数式编程的表达式。它可以包含表达式和语句,并且可以用于创建委托或表达式目录树类型,支持带有可绑定到委托或表达式树的输入...

    2_Lambda表达式.zip

    Lambda表达式是Java编程语言中的一个关键特性,自Java 8开始引入,它极大地简化了函数式编程,尤其是在处理集合数据时。Lambda表达式的主要目的是为了创建匿名函数,即没有名字的函数,它可以被当作一个值传递给方法...

    C#将Lambda表达式转成Sql语句

    1. **创建表达式树**:通过调用`Expression.Lambda`方法,我们可以创建一个表示Lambda表达式的表达式树。 2. **解析表达式树**:通过递归遍历表达式树,我们可以解析出查询操作的细节,如属性访问、条件判断、函数...

    Java8的lambda表达式

    1. **什么是Lambda表达式?** Lambda表达式是一种新的语法结构,它可以被看作是一段没有名字的函数。这种函数可以接受零个或多个参数,但不包含任何方法名,只包含一组表达式。Lambda表达式通常用于那些只需要一次...

    C#lambda表达式的使用

    Lambda 表达式是 C# 编程语言中的一个重要概念,也是函数式编程的基础。Lambda 表达式可以被用作创建委托对象或表达式树类型。所有的 Lambda 表达式都使用操作符“=>“,表示“goes to (转变为)”。 Lambda 表达式...

    C++ 11 lambda 表达式

    C++ 11引入了lambda表达式,这是一个强大的特性,极大地增强了C++的函数式编程能力。Lambda表达式允许在程序中直接定义匿名函数,并且可以直接在需要的地方使用,无需预先声明。这对于处理回调函数、简化算法实现...

    C++ 中的 Lambda 表达式

    1. **Capture子句**:定义Lambda表达式能够访问哪些外部变量。 2. **参数列表**:定义Lambda表达式的输入参数。 3. **可变规范**:如果Lambda表达式需要修改捕获的变量,则需要这个关键字。 4. **异常规范**:定义...

    Lambda表达式的例子

    Lambda表达式是Java 8引入的一种新的编程特性,它极大地简化了函数式编程,并使得代码更加简洁、易读。在Java中,Lambda表达式可以被理解为匿名函数,即没有名字的函数,它可以被当作方法参数传递,或者作为类的成员...

    java8 lambda表达式学习总结

    1. **类型推断**:Java 8 可以自动推断Lambda表达式的参数类型,因此在许多情况下,我们无需显式声明类型。 2. **捕获外部变量**:Lambda 表达式可以访问和修改其定义范围内的 final 或基本类型的局部变量。 3. **...

    java8lambda表达式Demo

    Java 8 是一个重要的Java平台版本,因为它引入了许多新特性,其中最显著的就是Lambda表达式。Lambda表达式是函数式编程的关键元素,它允许我们以更简洁、更易读的方式编写代码,特别是在处理集合和并发任务时。在这...

    Lambda表达式的前世今生 - 文章 - 伯乐在线1

    Lambda表达式是现代编程语言中的一种强大工具,特别是在C#中,它的引入极大地简化了对函数式编程的支持。本文将深入探讨Lambda表达式的起源、发展以及其在C#中的应用。 Lambda表达式起源于数学中的λ演算,这是一种...

    lambda表达式和递归算法

    lambda 表达式和递归算法 lambda 表达式是一种匿名函数,可以用来定义小的、单次使用的函数。它通常用于数据处理、事件处理和其他需要临时函数的情况。lambda 表达式的基本语法是:`lambda arguments : expression`...

    Lambda表达式.pdf

    1. Lambda表达式基础: Lambda表达式是Java 8引入的一种简洁的表示可传递的匿名函数的方式。它允许我们将函数作为参数传递给方法,或把代码作为数据处理。Lambda表达式由参数列表、箭头符号“->”和方法体三部分组成...

    精通lambda表达式: java多核编程

    1. **Lambda表达式的基本语法** Lambda表达式的语法形式为`(parameters) -> expression`或`(parameters) -> { statements }`。其中,`parameters`是输入参数(如果无参数,可以省略括号),`->`是箭头符号,`...

    将字符串转换为lambda表达式

    例如,`lambda x: x + 1`创建了一个接受一个参数`x`并返回`x + 1`的函数。`lambda`函数通常用于需要一次性、短小的函数,比如作为参数传递给高阶函数,如`map()`、`filter()`或`reduce()`。 将字符串转换为`lambda`...

    jdk1.8 Lambda表达式

    Java 8 引入的 Lambda 表达式是 Java 编程语言的重大变革之一,它允许以更简洁的方式表示单方法接口的实现,极大地增强了 Java 语言的表达能力,尤其是结合了函数式接口、Stream API 和其他新特性后。接下来,我们将...

Global site tag (gtag.js) - Google Analytics