Java REPL – jshell

Java REPLまたはjshellはjava 9で導入された新しいツールです。今日はJava REPLの基本を理解し、jshellインターフェースでいくつかのテストプログラムを実行してみましょう。

Java REPL

まず、JavaにREPLサポートが追加された理由を理解しようとしてみましょう。なぜそれほど重要だったのに、なぜそれが遅いリリースであるのか。ご存知のように、Scalaはその機能と利点のために、小規模から大規模なアプリケーションを開発するために非常に人気があります。それはマルチパラダイム(オブジェクト指向プログラミングと関数型プログラミング)とREPLをサポートしています。Oracle Corporationは、Scalaのほとんどの機能をJavaに統合しようとしています。彼らはすでにラムダ式などの一部の関数型プログラミング機能をJava 8の一部として統合しています。 Scalaの最高の機能の1つはREPL(Read-Evaluate-Print-Loop)です。これは、Scalaプログラムを実行するためのコマンドラインインターフェースとScalaインタプリタです。Scalaプログラミングの基礎を学び、さらには小さなテストコードを実行するのは非常に簡単です。Scala REPLとその学習曲線の低減とテストコードの実行の容易さの利点のために、Java REPLがjava 9で導入されました。

Java REPL – jshell

Java REPLアプリケーションの名前はjshellです。JShellはJava Shellの略です。jshellは変数の宣言、文、式、簡単なプログラムなどを実行および評価するインタラクティブツールです。コマンドプロンプトを開いて、Javaのバージョンを確認してください。Java 9以上が必要です。それ以外の場合はjshellを使用できません。 jshellはシンプルなJavaプログラムを実行するためにIDEやエディターが不要なため、コアJavaの初心者や専門家にとって非常に便利です。新機能や小さなテストコードを学習および評価するために使用できます。

Java REPL – jshell basics

Java REPLにはjshellコマンドを使用してアクセスできます。以下の画像に示すように利用できます。 これで、いくつかのシンプルな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シェルでクラスメソッドを定義して実行することもできます。

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$ 

jshellツールから終了するには、Ctrl + Dコマンドを使用することもできます。これがJava REPLとjshellツールの基本です。詳細は、jshell – java shellで読むことができます。参考文献:JEP 222

Source:
https://www.digitalocean.com/community/tutorials/java-repl-jshell