Java REPL或jshell是Java 9中引入的新工具。今天我们将了解Java REPL的基础知识,并在jshell界面中运行一些测试程序。
Java REPL
首先让我们试着理解为什么在Java中添加了REPL支持,如果这么重要,为什么要在如此晚的版本中才添加。你知道的,Scala因其特性和优势而变得非常流行,可用于开发从小型到大型的应用程序。它支持多范式(面向对象和函数式编程)和REPL。Oracle Corporation试图将Scala的大部分特性整合到Java中。他们已经在Java 8中作为一部分整合了一些函数式编程特性,比如lambda表达式。Scala的最佳特性之一是REPL(读取-求值-打印-循环)。它是一个命令行界面和Scala解释器,用于执行Scala程序。使用Scala REPL学习Scala编程的基础知识甚至运行小测试代码非常容易。由于Scala REPL以及它在降低学习曲线和轻松运行测试代码方面的好处,Java REPL在Java 9中得到了引入。
Java REPL – jshell
Java REPL 应用程序名称是 jshell
。JShell 代表 Java Shell。jshell 是一个交互式工具,用于执行和评估像变量声明、语句、表达式、简单程序等 Java 简单程序。打开命令提示符并检查 Java 版本,确保您使用的是 Java 9 或更高版本,然后才能使用 jshell。由于 jshell 不需要任何集成开发环境或额外编辑器来执行简单的 Java 程序,因此对于初学者和专家来说,它非常有用,可以用来学习和评估新功能和小型测试代码。
Java REPL – jshell 基础知识
我们可以通过使用如下所示的 jshell
命令来访问 Java REPL。 现在,是时候执行几个简单的 Java 示例,以了解 Java REPL 工具的用法了。
pankaj:~ pankaj$ jshell
| Welcome to JShell -- Version 9
| For an introduction type: /help intro
jshell>
jshell> System.out.println("Hello World");
Hello World
jshell> String str = "Hello JournalDev Users"
str ==> "Hello JournalDev Users"
jshell> str
str ==> "Hello JournalDev Users"
jshell> System.out.println(str)
Hello JournalDev Users
jshell> int counter = 0
counter ==> 0
jshell> counter++
$6 ==> 0
jshell> counter
counter ==> 1
jshell> counter+5
$8 ==> 6
jshell> counter
counter ==> 1
jshell> counter=counter+5
counter ==> 6
jshell> counter
counter ==> 6
jshell>
如上所示的Java REPL示例表明,开发“Hello World”程序非常简单。我们不需要定义“public class”和public static void main(String[] args)方法来打印一条消息。注意:我们不需要像上图所示的简单语句中使用“分号”。
Java REPL – 执行类
我们还可以在Java REPL shell中定义和执行类方法。
jshell> class Hello {
...> public static void sayHello() {
...> System.out.print("Hello");
...> }
...> }
| created class Hello
jshell> Hello.sayHello()
Hello
jshell>
Java REPL – 帮助和退出
要获取jshell工具的帮助部分,请使用/help
命令。要退出jshell,请使用命令/exit
。
jshell> /help
| Type a Java language expression, statement, or declaration.
| Or type one of the following commands:
| /list [<name or id>|-all|-start]
| list the source you have typed
| /edit <name or id>
...
jshell> /exit
| Goodbye
pankaj:~ pankaj$
我们也可以使用Ctrl + D
命令退出jshell工具。这就是关于Java REPL和jshell工具基础知识的全部内容,更多内容请阅读jshell – java shell。参考:JEP 222
Source:
https://www.digitalocean.com/community/tutorials/java-repl-jshell