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, jshell

Java REPL(Read-Eval-Print Loop)- jshellの基本

java repl
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 example

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 class

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。

コメントを残す 0

Your email address will not be published. Required fields are marked *