lambda表达式练习 1.判断一个数是否是偶数 2.判断一个数是否是质数 3.给定n,计算1到n的累加和
时间: 2024-09-26 19:13:33 浏览: 43
1. 使用lambda表达式来判断一个数是否是偶数,可以这样表示:
```java
isEven = lambda num: num % 2 == 0
```
然后你可以像这样检查一个数是否为偶数:
```java
print(isEven(4)) # 输出: True
print(isEven(5)) # 输出: False
```
2. 判断一个数是否是质数也可以用lambda,但需要注意的是lambda表达式通常用于简单的操作。下面是一个较复杂的例子,使用了普通的函数定义:
```java
def isPrime(num):
return lambda x: all(x % i != 0 for i in range(2, int(num ** 0.5) + 1))
isPrimeChecker = isPrime(17)
print(isPrimeChecker(19)) # 输出: True
print(isPrimeChecker(16)) # 输出: False
```
3. 计算从1到n的累加和,可以用lambda结合`reduce`函数来实现,如果在Python中:
```java
from functools import reduce
sum_n = lambda acc, n: acc + n
calculateSum = lambda n: reduce(sum_n, range(1, n + 1), 0)
print(calculateSum(5)) # 输出: 15
```
以上是lambda表达式的简单应用实例。
相关问题
stream、lambda表达式练习.doc
stream和lambda表达式是Java 8中引入的新特性,用于简化集合操作的代码。stream是一个顺序流或并行流,可以对集合中的元素进行各种操作,如过滤、转换、排序等,而不需要显式使用迭代器或循环。
lambda表达式是一种匿名函数,可以像一般的方法一样传递给其他方法或函数接口中使用。它可以简化代码的书写,并且使代码更易读和维护。通过lambda表达式,可以更加灵活地编写函数式接口的实现。
在练习文件"stream、lambda表达式练习.doc"中,我可以想到以下可能的练习内容:
1. 使用stream和lambda表达式对一个整数集合进行过滤,只保留偶数。
2. 使用stream和lambda表达式对一个字符串集合进行转换,将每个字符串转换为大写。
3. 使用stream和lambda表达式对一个学生对象集合进行排序,按照姓名字母顺序排序。
4. 使用stream和lambda表达式计算一个整数集合中所有元素的平均值。
5. 使用stream和lambda表达式对一个字符串集合进行去重,保留唯一的字符串。
这些练习可以帮助我们熟悉stream和lambda表达式的使用,并且体会到它们的便利之处。在实际的开发工作中,stream和lambda表达式能够大大简化我们的代码,并提升我们的开发效率。同时,它们也是函数式编程的一种体现,使得我们可以更加灵活地处理集合中的元素,提高代码的可读性和可维护性。
5. 有接口和测试类定义如下,请回答问题: interface Example1 { int min(int a, int b); } interface Example2 { void test(); } public class Sy13_5 { public static void main(String[] args) { Example1 ex1; ex1 = //lambda表达式1 System.out.println(ex1.min(10, 20)); System.out.println(ex1.min(100, 30)); Example2 ex2; ex2 = //lambda表达式2 ex2.test(); } } ① 定义lambda表达式1,实现min方法,返回参数a和b的较小数; ② 定义lambda表达式2,实现test方法,输出字符串“无参数无返回值”; ③ 运行程序,记录输出结果。
① lambda表达式1的定义如下:
```
ex1 = (a, b) -> a < b ? a : b;
```
② lambda表达式2的定义如下:
```
ex2 = () -> System.out.println("无参数无返回值");
```
③ 运行程序的输出结果如下:
```
10
30
无参数无返回值
```
第一个lambda表达式实现了Example1接口中的min方法,将输入的两个参数进行比较,返回较小的值。
第二个lambda表达式实现了Example2接口中的test方法,输出了一个字符串。
在程序运行时,首先通过lambda表达式1实例化了Example1接口,然后调用了min方法,输出了10和30两个数中的较小值。接着通过lambda表达式2实例化了Example2接口,然后调用了test方法,输出了一个字符串。
阅读全文