S-JIS[2018-02-02/2022-03-23] 変更履歴

JShell

JavaのJShellについて。


概要

JShellはJava9で導入された対話型ツール(REPL)。

Java9以降のJDKをインストールすれば使える。


バージョン確認方法

> jshell --version
jshell 9

起動方法

> jshell

Javaのプレビュー版の機能を使いたい場合は--enable-previewを付けて起動する。[2020-10-06]

> jshell --enable-preview

システムに渡すフラグ(-Dxxxとか)を指定する場合は、-Jもしくは-Rを使う。[2022-03-23]
-JはJShellそのものに対する設定で、-RはJShell上で動くプログラムに対する設定らしい。

> jshell -R-Dfile.encoding=UTF-8
jshell> System.getProperty("file.encoding")
$1 ==> "UTF-8"

JShellのコマンド

JShell独自のコマンドは「/」で始める。
タブキーで補完することが出来るので、「/」を入力した後にタブキーを押すとコマンド一覧が表示される。

/!          /?          /drop       /edit       /env        /exit
/help       /history    /imports    /list       /methods    /open
/reload     /reset      /save       /set        /types      /vars

「/help」でコマンド一覧が表示される。
「/help コマンド」でコマンドのヘルプが表示される。

JShellを終了するには「/exit」を実行する。


ショートカット

JShellではTabキーで入力補完が出来るほか、Shift+Tabで特殊な補完が出来る。[2020-10-06]
詳細は「/help shortcuts」で確認できる。

Shift+Tabを押してから文字キーを押すと、それに応じた補完が出来る。
(Shift+Tabを押しながら文字キーを押すのではない(Shift+Tabを押しながら文字キーを押すとエラーになる。Shift+Tabを押し、一旦離してから次の文字キーを押す))

ショートカット 説明
Shift+Tab→i
jshell> LocalDate

↓Shift+Tabを押してからiを押す

jshell> LocalDate
0: 何もしない
1: import: java.time.LocalDate
選択:

↓1を押す

jshell> LocalDate
0: 何もしない
1: import: java.time.LocalDate
選択:
imported: java.time.LocalDate
shell> LocalDate
入力されたクラスをimportする。
Shift+Tab→v
jshell> 123

↓Shift+Tabを押してからvを押す

jshell> int  = 123
入力された値を代入するための変数宣言を用意する。
カーソルは変数名を入力する位置に移動するので、
そこで変数名を入れればよい。
Shift+Tab→m
jshell> 123

↓Shift+Tabを押してからmを押す

jshell> int () { return 123; }
入力された値を返すメソッド宣言を用意する。
カーソルはメソッド名を入力する位置に移動するので、
そこでメソッド名を入れればよい。
Ctrl+r   過去に実行したものを検索する。[2021-09-19]

Java目次へ戻る / 新機能へ戻る / 技術メモへ戻る
メールの送信先:ひしだま