Java REPL – jshell
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不需要任何IDE或者另外的编辑器即可执行简单的Java程序,因此对于Java核心和专家来说,使用它来学习和评估新功能和小型测试代码非常有用。
Java REPL – jshell基础
我们可以使用jshell
命令访问Java REPL,如下图所示。
现在,是时候执行一些简单的Java示例来了解Java REPL工具的flavor 了。
hyman:~ hyman$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 theitroad Users" str ==> "Hello theitroad Users" jshell> str str ==> "Hello theitroad Users" jshell> System.out.println(str) Hello theitroad Users jshell> int counter = 0 counter ==> 0 jshell> counter++ ==> 0 jshell> counter counter ==> 1 jshell> counter+5 ==> 6 jshell> counter counter ==> 1 jshell> counter=counter+5 counter ==> 6 jshell> counter counter ==> 6 jshell>
如上面的Java REPL示例所示,开发" Hello World"程序非常容易。
我们不需要定义"公共类"和公共静态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 hyman:~ hyman$
我们也可以使用Ctrl + D命令退出jshell工具。