jshellコマンド
対話式のシェル環境を起動する – jshellコマンド- jshell option
- option:コマンドオプション
jshellコマンドは、Javaコードをコマンドライン上で対話式に実行するためのREPL(Read-Eval-Print-Loop)環境を起動します。Java 9で追加されています。
Java 9以前では、簡単なコードを利用するにもコンパイル&実行という手順を踏む必要がありましたが、JShellを利用することでその場で即座に実行できます。
指定できるコマンドオプション(option)には、以下のようなものがあります。。
| オプション | 概要 |
|---|---|
| –-classpath パス | 関連するクラスファイルの検索先。複数指定時は、セミコロン(Windows)、またはコロン(Unix)区切り |
| –-module-path パス | モジュールの検索先 |
| –-enable-preview | プレビュー機能を有効化 |
▲jshellコマンドの主なオプション
たとえば以下はJShellを起動して、簡単なコードを実行する例です。
PS C:\pleiades\java\13\bin> jshell
| JShellへようこそ -- バージョン13.0.1
| 概要については、次を入力してください: /help intro
jshell> import java.util.ArrayList; (①インポート)
jshell> new ArrayList<String>(); (②リストを定義)
$2 ==> []
jshell> $2.add("おはよう"); (③リストを操作)
$3 ==> true
jshell> $2.add("こんにちは");
$4 ==> true
jshell> $2.get(0);
$5 ==> "おはよう"
jshell> /exit (④JShellを終了)
| 終了します
JShellのプロンプトは「jshell> 」です。ライブラリを利用する際には、普通のコードと同じくimport命令でクラスをインポートします(①)。
以降のコード(②~③)は、暗黙的にmainメソッド配下のコードと見なされます。また、変数の宣言も不要です。生成されたオブジェクトは、そのまま自動変数$1、$2…に順に代入されるからです。③でも②で生成したArrayListオブジェクトに変数$2経由でアクセスできています。
JShellを終了するには、/exitメタコマンドを利用します。






