Java REPL - jshell
Java REPL 或 jshell 是Java 9中引入的新工具。今天我们将研究 Java REPL 基础知识并在 jshell 界面中运行一些测试程序。
Java REPL
首先,让我们试着理解为什么在 Java 中添加了 REPL 支持,如果它那么重要,那为什么要在这么晚的版本中添加。如你所知,Scala凭借其特性和优势,在从小型到大型应用程序的开发中变得非常流行。它支持多范式(面向对象和函数式编程)和 REPL。Oracle 公司正试图将 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 工具了。
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