java--Lambda(2)表达式语法

简介: 最基本的 Lambda 表达式,它由三部分组成具体格式是这样子的:参数 -> 具体实现;Lambda表达式格式:()->{}是一段带有输入参数的可执行语句块。可选类型声明: 不需要声明参数类型,编译器可以自动识别参数类型和参数值。可选的参数圆括号: 一个参数可以不用定义圆括号,但多个参数需要定义圆括号;可选的大括号: 如果函数主体只包含一个语句,就不需要使用大括号;可选的返回关键字: 如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指明表达式返回了一个数值。

@[TOC]

0 写在前面

最基本的 Lambda 表达式,它由三部分组成具体格式是这样子的:参数 -> 具体实现;

Lambda表达式格式:()->{}

是一段带有输入参数的可执行语句块。
Lambda 表达式有这么几个特点:
可选类型声明: 不需要声明参数类型,编译器可以自动识别参数类型和参数值。
可选的参数圆括号: 一个参数可以不用定义圆括号,但多个参数需要定义圆括号;
可选的大括号: 如果函数主体只包含一个语句,就不需要使用大括号;
可选的返回关键字: 如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指明表达式返回了一个数值。

1 Lambda 表达式的五种形式

1.1 不包含参数:

()->代码块

代码实例

//接口类
public interface LambdaInterface01 {
    public void lambdaInterface01();
}
//测试类
public class LambdaExample01 implements LambdaInterface01 {
    public static void main(String[] args) {
        LambdaInterface01 example = () ->
            System.out.println("不包含参数,执行啦");

        example.lambdaInterface01();
    }
    @Override
    public void lambdaInterface01() {

    }
}

结果截图:
在这里插入图片描述

1.2 包含一个参数:

(一个参数)->代码块

我们可以把 () 省略。

//接口类
public interface LambdaInterface02 {
    public int lambdaInterface02(int num);
}
//测试类
public class LambdaExample02 implements LambdaInterface02 {
    public static void main(String[] args) {
        LambdaInterface02 example = (int num) ->
                System.out.println("传入的数据为" + num);


        example.lambdaInterface02(3);
    }

    @Override
    public void lambdaInterface02(int num) {
    }

}

结果截图:
在这里插入图片描述

1.3 有多个参数

(参数1,参数2,……)->代码块

使用 () 把参数包裹起来,并用 , 来分割参数。上面的代码表示

//接口类
public interface LambdaInterface03 {
    public int lambdaInterface03(int x, int y,int z);
}
//测试类
public class LambdaExample03 implements LambdaInterface03 {

    public static void main(String[] args) {
        LambdaInterface03 example = (int x, int y, int z) -> System.out.println("三个数字之和为"+ (x+y+z));

        example.lambdaInterface03(10,9,8);

    }

    @Override
    public void lambdaInterface03(int x, int y, int z) {

    }
}

结果截图:
在这里插入图片描述

1.4 表达式主体是不是一个代码块

带有{},{}里面是代码块

//接口类
public interface LambdaInterface04 {
    public void lambdaInterface04(String str);
}
//测试类
public class LambdaExample04 implements LambdaInterface04 {

    public static void main(String[] args) {
        LambdaInterface04 example = (String str)->{
            if (str.isEmpty()){
                System.out.println("字符串为空");
            }
            else {
                System.out.println("字符串的内容为"+str);
            }
        };
        example.lambdaInterface04("哈喽,我是演示带有代码块的字符串");
    }
    
    @Override
    public void lambdaInterface04(String str) {

    }
}

结果截图:
在这里插入图片描述

1.5 不声明参数类型

参数不被声明类型
举例:

ActionListener oneArguments = event -> System.out.println("hello world");

2 写在末尾

Lambda 表达式的基本语法就基本是这样子了,简单记录一下,不仅可以这样写,还可以返回参数什么的,暂时先写这些吧,以后会找时间记录一下的。
Lambda表示式其实都是为了简化接口实例化的代码。
灵活使用吧,掌握这些知识可以帮助我们快速的辨别一个 Lambda 表达式,方便的去理解程序的意图。

相关文章
|
14天前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
29 1
|
16天前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
26 2
|
4天前
|
Java API 开发者
Java中的Lambda表达式与函数式编程####
在Java的演变过程中,Lambda表达式和函数式编程的引入无疑是一次重大的飞跃。本文将深入探讨Lambda表达式的定义、用法及优势,并结合实例说明如何在Java中利用Lambda表达式进行函数式编程。通过对比传统编程方式,揭示Lambda表达式如何简化代码、提高开发效率和可维护性。 ####
|
12天前
|
自然语言处理 安全 Java
Aviator Java 表达式引擎
AviatorScript 是一门高性能、轻量级寄宿于 JVM 之上的脚本语言。
29 10
|
10天前
|
Java API 数据处理
探索Java中的Lambda表达式与Stream API
【10月更文挑战第22天】 在Java编程中,Lambda表达式和Stream API是两个强大的功能,它们极大地简化了代码的编写和提高了开发效率。本文将深入探讨这两个概念的基本用法、优势以及在实际项目中的应用案例,帮助读者更好地理解和运用这些现代Java特性。
|
13天前
|
Java API
[Java]Lambda表达式
本文主要介绍了Java中的Lambda表达式,包括其优化匿名内部类的方式、使用规范、内置函数式接口及方法引用等内容。文章详细解析了Lambda的基础语法、参数列表、方法体的简化规则,以及如何利用Lambda优化代码。此外,还探讨了Lambda的作用域和引用规则,强调了对局部变量、成员变量和常量的访问限制,旨在帮助读者全面理解和掌握Lambda表达式的应用。
11 0
[Java]Lambda表达式
|
14天前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
本系列教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin的用户,推荐查看“简洁”系列教程。本文档重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android library开发建议以及在Kotlin和Java之间互相调用的方法。
13 1
|
14天前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
本教程详细讲解Kotlin语法,适合希望深入了解Kotlin的开发者。若需快速入门,建议查阅“简洁”系列教程。本文重点探讨Kotlin与Java共存的高级话题,包括属性访问、空安全、泛型处理、同步机制及SAM转换等,助你在项目中逐步引入Kotlin。
14 1
|
16天前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
Kotlin语法笔记(28) -Kotlin 与 Java 混编
19 2
|
23天前
|
Java 程序员 API
Java中的Lambda表达式:简化代码的秘密武器
【10月更文挑战第11天】 在Java编程中,Lambda表达式是一种简洁而强大的工具,它允许我们将函数作为参数传递给其他方法。本文将介绍Lambda表达式的基本概念、使用方法以及在实际项目中的应用案例,帮助你更好地理解和利用这一特性来简化代码。
21 8