【博学谷学习记录】超强总结,用心分享|了解《Lambda表达式》

lambda表达式:可以用非常少的代码实现抽象方法。lambda表达式不能独立执行,必须实现函数式接口,并且会返回一个函数式接口的对象

lambda表达式实现函数式接口

函数式接口指的是仅包含一个抽象方法的接口,接口中的方法简单明了地说明了接口的用途,如线程接口Runnable,动作事件监听接口ActionListener等。开发者可以创建自定义的函数式接口。

lambda表达式实现无参抽象方法

例1:打印函数

package com.itheima.Demo;

interface SayHilnterface {
    String say();
}

public class text {
    public static void main(String[] args) {
        //lanbda表达式实现打招呼接口,返回抽象方法结果
        SayHilnterface pi = () -> "你好!";
        System.out.println(pi.say());
    }
}

lambda表达式实现有参抽象方法

例2:实现相加函数

package com.itheima.Demo;

interface AddItionInterface {                        //加法接口
    int add(int a, int b);                            //加法的抽象方法
}

public class text {
    public static void main(String[] args) {         //测试类
        //lambda表达式实现加法接口,返回参数相加的值
        AddItionInterface np = (x, y) -> x + y;
        int result = np.add(11, 33);              //调用接口方法
        System.out.println("结果为" + result);           //输出相加的结果
    }
}

lambda表达式使用代码块

当l函数接口的抽象方法需要实现复杂的逻辑而不是返回一个简单的表达式的话,就需要在lambda表达式中使用代码块。

例3:对考试成绩进行分类

package com.itheima.Demo;

interface CheckGrade {
    String check(int grade);
}

public class text {
    public static void main(String[] args) {
        CheckGrade g = (grade) -> {                          //lambda表达式实现代码块
            if (grade >= 90 && grade <= 100) {
                return "优秀";
            } else if (grade >= 80 && grade <= 89) {
                return "中等";
            } else if (grade >= 70 && grade <= 79) {
                return "良好";
            } else if (grade >= 60 && grade <= 69) {
                return "及格";
            } else {
                return "再接再厉";
            }
        };
        System.out.println(g.check(100));
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值