Java jshell教程:学习Java交互式解释器(REPL)的使用方法

这是文章《Java REPL(交互式解释器)- jshell》的第1部分(共1部分)。

内容片段: Java REPL 或者 jshell 是在 Java 9 中引入的新工具。今天,我们将重点介绍 Java REPL 的基础知识,并在 jshell 接口中运行一些测试程序。

Java REPL 是即时运行环境的一个版本,它允许用户直接在命令行中编写和运行 Java 代码。

让我们首先试着理解为什么Java中添加了REPL支持,如果这样重要的话,为什么这么晚才发布。如你所知,由于其特性和优点,Scala已经非常流行用于开发小到大规模的应用程序。它支持多范式(面向对象和函数式编程)和REPL。Oracle公司正在尝试将大部分Scala的特性整合到Java中。他们已经作为Java 8的一部分整合了一些函数式编程特性,比如lambda表达式。Scala的最好特性之一就是REPL(读取-求值-打印-循环)。它是一个命令行界面和Scala解释器,用于执行Scala程序。使用Scala REPL很容易学习Scala编程的基础知识,甚至运行小的测试代码。由于Scala REPL及其减少学习曲线和便于运行测试代码的好处,Java在Java 9中引入了REPL。

Java的REPL – jshell

java repl, jshell

Java REPL – jshell 基础知识

java repl
james:~ james$ jshell 
|  欢迎使用 JShell -- 版本 9
|  输入以下内容获取介绍: /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 example

Java REPL – 执行类

我们也可以在Java REPL Shell中定义和执行类方法。

jshell> class Hello {
   ...> public static void sayHello() {
   ...> System.out.print("Hello");
   ...> }
   ...> }
|  已创建类 Hello

jshell> Hello.sayHello()
Hello
jshell> 
java repl class

Java REPL – 帮助和退出

要获取jshell工具的帮助部分,请使用/help命令。要退出jshell,请使用/exit命令。

jshell> /help
|  输入 Java 语言表达式、语句或声明。
|  或输入以下命令之一:
|  /list [<名称或标识符>|-all|-start]
|  	列出您已输入的源代码
|  /edit <名称或标识符>
...

jshell> /exit
|  再见
scdev:~ scdev$ 

我们还可以使用Ctrl + D命令从jshell工具中退出。这就是关于Java REPL和jshell工具基础的全部内容,请在jshell – java shell上阅读更多信息。参考资料:JEP 222。

bannerAds