JavaのREPL – jshell
Java 9で導入された新しいツール、Java REPLまたはjshellについて説明します。今日はJava REPLの基礎を学び、jshellインターフェースでいくつかのテストプログラムを実行します。
JavaのREPL
最初に、なぜJavaにREPLサポートが追加されたのか、それがどれほど重要なのか、遅れてリリースされたのはなぜなのかを理解しようとしましょう。ご存知のように、Scalaはその機能と利点のため、小規模から大規模なアプリケーションの開発に非常に人気があります。Scalaはマルチパラダイム(オブジェクト指向および関数型プログラミング)とREPLをサポートしています。Oracle CorporationはScalaのほとんどの機能をJavaに統合しようとしています。彼らはJava 8の一部として、ラムダ式などのいくつかの関数型プログラミング機能を既に統合しています。Scalaの最も優れた機能の1つはREPL(Read-Evaluate-Print-Loop)です。これはコマンドラインインターフェースおよびScalaプログラムを実行するScalaインタプリタです。Scalaの基本を学ぶためや小さなテストコードを実行するために、Scala REPLを使用するのは非常に簡単です。Scala REPLと学習コストの削減およびテストコードの実行の容易さの利点により、Java 9でJava REPLが導入されました。
Java REPL – jshellの日本語への自然な言い換え:
Javaの対話型環境、jshell
Java REPL(Read-Eval-Print Loop)- jshellの基本
scdev:~ scdev$ 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でクラスを実行する
私達はJavaのREPLシェルでクラスメソッドを定義して実行することもできます。
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
scdev:~ scdev$
jshellツールを終了するためには、Ctrl + Dコマンドも使用することができます。これがJava REPLとjshellツールの基礎についてのすべてです。詳しくは、jshell – java shellを読んでください。参考文献: JEP 222。