Java基础学习day08-作业

简介: 本作业涵盖Java中Lambda表达式的应用,包括Runnable与Comparator接口的简化实现、自定义函数式接口NumberProcessor进行加减乘及最大值操作,以及通过IntProcessor处理整数数组,实现遍历、平方和奇偶判断等功能,强化函数式编程实践。

Java基础学习day08-作业

案例一

// 1. Runnable 接口
Runnable runnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Hello World");
    }
};

// 2. Comparator 接口
Comparator<String> comparator = new Comparator<String>() {
    @Override
    public int compare(String s1, String s2) {
        return s1.length() - s2.length();
    }
};
package com.itheima.homework_day08;

import java.util.Comparator;

public class Test1 {
    public static void main(String[] args) {
        // 1. Runnable 接口
        Runnable runnable = () -> System.out.println("Hello World");


        // 2. Comparator 接口
        Comparator<String> comparator = (s1,  s2) -> s1.length() - s2.length();

    }
}

案例二

题目2:自定义函数式接口
创建一个自定义函数式接口NumberProcessor,并使用Lambda实现:

定义接口:int process(int x, int y)

创建方法接收该接口和两个整数参数

使用Lambda实现加法、乘法和取最大值操作
package com.itheima.homework_day08;

public interface NumberProcessor {
    int process(int x, int y);
}
package com.itheima.homework_day08;


public class Test2 {
    public static int calculate(int x, int y, NumberProcessor numberProcessor) {
        return numberProcessor.process(x, y);
    }


    public static void main(String[] args) {

        //题目2:自定义函数式接口
        //创建一个自定义函数式接口NumberProcessor,并使用Lambda实现:
        //
        //定义接口:int process(int x, int y)
        //
        //创建方法接收该接口和两个整数参数
        //
        //使用Lambda实现加法、乘法和取最大值操作
        int calculate = calculate(2, 3, (int x, int y) -> x + y);

    }
}

案例三

题目3:整数数组处理
题目:
有一个整数数组:int[] numbers = {10, 20, 30, 40, 50};

请使用 Lambda 表达式完成以下操作:

打印所有数字

打印数字的平方

打印数字是否是偶数
// 定义函数式接口用于整数处理
@FunctionalInterface
interface IntProcessor {
    void process(int number, int index);  // 添加index参数
}
public class Main {
    // 整数数组遍历方法(使用普通for循环)
    public static void forEachInt(int[] array, IntProcessor processor) {
        for (int i = 0; i < array.length; i++) {
            processor.process(array[i], i);  // 传递数字和索引
        }
    }

    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};

        // 1. 打印所有数字(带索引)
        System.out.println("所有数字(带索引):");
        forEachInt(numbers, (n, index) -> {
            System.out.println("索引 " + index + ": 数字 = " + n);
        });

        // 2. 打印数字的平方(带索引)
        System.out.println("\n数字的平方:");
        forEachInt(numbers, (n, index) -> {
            int square = n * n;
            System.out.println("索引 " + index + ": " + n + " 的平方 = " + square);
        });

        // 3. 打印数字是否是偶数(带索引)
        System.out.println("\n数字奇偶性:");
        forEachInt(numbers, (n, index) -> {
            boolean isEven = n % 2 == 0;
            System.out.println("索引 " + index + ": " + n + " 是" + (isEven ? "偶数" : "奇数"));
        });

    }

}


相关文章
|
15天前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
132 0
|
2月前
|
Java API 容器
Java基础学习day08-2
本节讲解Java方法引用与常用API,包括静态、实例、特定类型方法及构造器引用的格式与使用场景,并结合代码示例深入解析。同时介绍String和ArrayList的核心方法及其实际应用。
121 1
|
22天前
|
IDE Java 编译器
java编程最基础学习
Java入门需掌握:环境搭建、基础语法、面向对象、数组集合与异常处理。通过实践编写简单程序,逐步深入学习,打牢编程基础。
129 0
|
22天前
|
负载均衡 Java API
grpc-java 架构学习指南
本指南系统解析 grpc-java 架构,涵盖分层设计、核心流程与源码结构,结合实战路径与调试技巧,助你从入门到精通,掌握高性能 RPC 开发精髓。
133 7
|
2月前
|
Java 程序员
Java基础学习day08
本节讲解Java中的代码块(静态与实例)及其作用,深入介绍内部类(成员、静态、局部及匿名)的定义与使用,并引入函数式编程思想,重点阐述Lambda表达式及其在简化匿名内部类中的应用。
108 5
|
2月前
|
Java
Java基础学习day07-作业
本作业包含六个Java编程案例:1)动物类继承与多态;2)加油卡支付系统;3)员工管理类设计;4)学生信息统计接口;5)USB设备控制;6)家电智能控制。综合运用抽象类、接口、继承、多态等面向对象技术,强化Java基础编程能力。
154 3
|
2月前
|
Java
Java基础学习day06-作业
本内容为Java基础学习作业,涵盖两个案例:一是通过Card类及其子类GoldenCard、SilverCard实现加油卡系统,体现封装与继承;二是通过Shape类及子类Circle、Rectangle演示多态与方法重写,强化面向对象编程理解。
55 1
|
2月前
|
设计模式 存储 Java
Java基础学习day07
本节讲解Java中的final关键字、单例设计模式、枚举类、抽象类与接口。涵盖常量定义、单例写法(饿汉式/懒汉式)、枚举特点及应用场景,以及抽象类与接口的使用与区别,助力掌握核心面向对象编程思想。
117 1
|
存储 安全 Java
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
182 1
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法