当前位置: 主页 > JAVA语言

java随机数函数-拉格朗日函数高数

发布时间:2023-06-08 22:06   浏览次数:次   作者:佚名

java随机数函数_拉格朗日函数高数_水仙花数函数

本文主要概括Java7以后直到2020年发布的Java15各种重大功能改善。

就算Java8已经发布过去了7年的时间,但到目前为止仍然有很多程序员停留在Java7甚至更早版本的编码方式。

比如Java7就有了处理异常的新方式“try-with-resources”java随机数函数,但大多数程序员也仍然在finally语句中关闭相关资源。

1. 函数式编程(Java8)

当年的Java8最为引人瞩目的就是支持函数式编程。如果说面向对象编程是对数据的抽象,那么函数式就是对行为的抽象。

水仙花数函数_拉格朗日函数高数_java随机数函数

这个示例是给一个按钮增加一个监听处理,当点击这个按钮时打印“button clicked”。在Java支持函数式编程前,如果需要传递一个行为时需要通过传递一个对象(匿名内部类)来实现。当然函数式编程并不是在Java8中才提出的概念。

2. Lambda表达式(Java8)

从Java8开始为了用更为简洁的方式支持函数式编程,引入了Lambda表达式功能。如果我们把上面的代码用Lambda表达式重写的话,代码如下:

水仙花数函数_拉格朗日函数高数_java随机数函数

Lambda表达式语法规则主体分为两部分,中间用“->”连接,左边代表参数,右边代表函数主体。

没有参数的情况:

java随机数函数_水仙花数函数_拉格朗日函数高数

一个参数的情况:

水仙花数函数_java随机数函数_拉格朗日函数高数

多个参数的情况(可以指定也可以不指定参数类型)

java随机数函数_拉格朗日函数高数_水仙花数函数

拉格朗日函数高数_水仙花数函数_java随机数函数

3. Streams(Java8)

编程中很多情况会对一个列表中的数据进行变换等操作,在Java8之前主要通过for循环来实现。Java8以后可以用Stream更简洁的实现同样的功能。

水仙花数函数_拉格朗日函数高数_java随机数函数

Stream(流)是一个来自数据源的元素队列并支持聚合操作。数据源可以是集合,数组等,聚合操作是类似于SQL语句一样的操作,比如filterjava随机数函数,map等。

forEach

Stream提供了forEach方法来迭代流中的每个数据。以下代码片段使用forEach输出10个随机数。

水仙花数函数_拉格朗日函数高数_java随机数函数

map

map方法用于映射每个元素到对应的结果。以下代码片段使用map输出元素的对应平方数。

java随机数函数_拉格朗日函数高数_水仙花数函数

filter

filter方法用于通过设置的条件过滤出元素。以下代码片段使用filter过滤出空字符串。

java随机数函数_拉格朗日函数高数_水仙花数函数

limit

limit 方法用于获取指定数量的流,以下代码片段使用limit方法打印出10条数据。

java随机数函数_拉格朗日函数高数_水仙花数函数

sorted

sorted方法用于对流进行排序,以下代码片段使用 sorted 方法对输出的 10 个随机数进行排序

水仙花数函数_拉格朗日函数高数_java随机数函数

4. Optional(Java8)

Java经常发生的一个问题是null异常。Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。

Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,比如orElse如果值存在就返回否则返回默认值,这样我们就不用显式进行空值检测。

java随机数函数_水仙花数函数_拉格朗日函数高数

5. JShell(Java9)

熟悉python的同学都知道python可以输入代码片段并马上看到运行结果。Jshell是Java提供的类似功能。

水仙花数函数_拉格朗日函数高数_java随机数函数

6. List单纯初始化(Java9)

List单纯初始化在Java中一直没有,从Java9开始终于可以用下面的方式将List初始化。

拉格朗日函数高数_水仙花数函数_java随机数函数

7. var关键字(Java10)

在JavaScript,Swift等语言中经常看到var这个关键字,从Java10开始也引入了var关键字,而且和其它语言一样,允许编译器使用其初始值设定荐来推断局部变量的类型。

拉格朗日函数高数_java随机数函数_水仙花数函数

8. 单一代码文件启动(Java11)

以前无论是多么简单的Java程序,必须用javac命令进行编译后才能运行。从Java11开始对单一代码文件java命令可以同时将将编译和运行的动作同时执行。

拉格朗日函数高数_java随机数函数_水仙花数函数

java随机数函数_水仙花数函数_拉格朗日函数高数

9. Switch(Java12)

在Java12中,Switch也发生了一定的变化,我们看一下新旧比较,就能一目了然。

拉格朗日函数高数_java随机数函数_水仙花数函数

拉格朗日函数高数_java随机数函数_水仙花数函数

主要的变化是

- 冒号用箭头符号代替

- 不需要break

10. 複数行文字列(Java13)

以前使用JSON或者XML这样的多行字符串,每一行后面加上\n,Java13开始终于有了定义多行字符串的功能。

java随机数函数_水仙花数函数_拉格朗日函数高数

11. record(Java14)

写Java的人都知道一个数据类要写很多的getter和setter,虽然Eclipse有自动生成功能,也有Lombok这种插件来省去这些代码。Java14终于解决了这个问题,用record关键子声明Getter等等都不需要写了。

java随机数函数_水仙花数函数_拉格朗日函数高数

12. 不用映射的instanceof(Java14)

Instanceof在以前的版本中也存在,但是在判断了类型之后仍然需要类型映射。

水仙花数函数_java随机数函数_拉格朗日函数高数

在Java14中instanceof检查后会自动进行类型推论。

水仙花数函数_java随机数函数_拉格朗日函数高数

13. Sealed (Java 15)

Sealed关键字是对指定的类或者接口扩展进行限制。

水仙花数函数_java随机数函数_拉格朗日函数高数

大神吐血整理

过了这个村就没这个店儿了