Java9之REPL

最近在学Java9的一些新特性,一些学习心得笔记仅供参考。 1,什么是REPL REPL — 交互式解释器环境。 R(read)、E(evaluate)、P(print)、L(loop) 输入值,交互式解释器会读取输入内容并对它求值,再返回结果,并重复此过程。 2,为什么使用REPL? 在Java中,如果你想执行一个简单的语句,我们要么创建一个带main方法的类,要么创建一个可以执行的Test类。当你正在启动Java程序的时候,如果你想执行某些语句并且想立刻看见执行结果,上面的做法看起来不是那么有用。 JShell试图去解决这个问题。Java开发者可以利用JShell在没有创建类的情况下直接声明变量,计算表达式,执行语句。JShell也可以从文件中加载语句或者将语句保存到文件中。并且JShell也可以是tab键进行自动补全的特性。 3,Java9中的REPL Java 9 的一个特性是拥有了 REPL(read-eval-print loop)工具,这是一个 Java 的长期目标,在 Kulia 项目中经过多年研发后终于在 Java 9 中得以实现。 Java 9 的 REPL 名为 jShell,以交互式的方式对语句和表达式进行求值。开发者只需要输入一些代码,就可以在编译前获得对程序的反馈。命令行工具的功能包含 tab 自动补全和自动添加分号。jShell API 支持在 IDE 和其他工具中使用 jShell 功能,虽然这个工具本身不是 IDE。 REPL 的缺失是高校想要把 Java 从学校课程中剔除的一个原因(像 Python 和 Scala 之类的语言早就有 REPL 了)。但 Scala 语言的创始人 Martin Odersky 质疑 Java 中 REPL 的作用,他说 Java 是面向语句的,而 REPL 是面向表达式的。

    原文作者:xhl_2017
    原文地址: https://blog.csdn.net/qq_35498454/article/details/78121026
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞