lambda 表达式的基本语法及注意事项代码例子

3 篇文章 0 订阅
 /**
         * lambda表达式语法的介绍
         */

        /**
         * 基本语法解释
         *
         * [接口声明] = (参数) -> { 执行代码块 };
         *
         * 1,声明 :就是和Lambda表达式绑定的接口类型
         *
         * 2.参数:包含一对小括号,和绑定的接口中的抽象方法中的参数个数及顺序一致
         *
         * 3.操作符: ->
         *
         * 4.执行的代码块: 包含在一对大括号中,出现在操作符右侧
         */

        Ilambda1 i1 = () -> {
            System.out.println("test方法");
        };
        i1.test();

        //这里需要注意的是。如果在执行方法体中只有一行代码,则可以 省略掉大括号
        Ilambda1 i2 = () -> System.out.println("hehefanfa");

        i2.test();;

        //带参数的lambda表达式的演示
        Ilambda2 i21 = (String n,int a) -> {
            System.out.println(n+" say : my age is "+a);
        };

        i21.test("jack",12);

        //这里演示的是参数,JVM在运行时可以自动识别参数类型,可以不用写参数类型
        Ilambda2 i22 = (n,a) -> {
            System.out.println(n+" 说 ,今天 "+a);
        };

        i22.test("hehe",35);

        //演示带参数,带返回值的lambda表达式
        Ilambda3 i31 = (x,y) -> {
            int z = x+y;
            return z;
        };

        System.out.println(i31.test(1,2));

        //这里需要注意的,如果执行代码块只有一行代码,可以省略return关键字
        Ilambda3 i32 = (x,y) -> x + y;
        System.out.println(i32.test(3,2));

        /**
         * 1 lambda表达式必须和接口进行绑定
         *
         * 2.lambda表达式可以附带0到n个参数,括号中的参数类型可以不用指定,jvm在运行时,会自动根据绑定的抽象方法中的参数类型推导出对应的参数类型
         *
         * 3.lambda表达式的返回值,如果代码块只有一行,并且没有大括号,则不用写return关键字,单行代码的执行结果会自动返回;如果添加了大括号,或者有多行代码,则必须通过 return 关键字进行返回
         */



 /**
     * 无参数,无返回值的接口声明
     */
    interface Ilambda1{
        void test();
    }

    /**
     * 带参数,无返回值的接口的声明
     */
    interface Ilambda2{
        void test(String  name,int age);
    }

    /**
     * 带参数,带返回值的接口声明
     */
    interface Ilambda3{
        int test (int x,int y);
    }




 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值