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メタコマンドを利用します。