Java9のダウンロードとjshellの使い方
2017年9月21日、Java9がリリースされました。
こちらよりダウンロードできます。
「DOWNLOAD」をクリックします。
ここではウィンドウズ版をダウンロードします。
「jdk-9_windows-x64_bin.exe」をダウンロードしたら実行します。
「次へ」をクリックします。
「次へ」をクリックします。インストールが始まります。
「次へ」をクリックします。インストールが始まります。
「閉じる」をクリックしてインストール完了です。
JShellの使い方
Java9のインストールディレクトリ配下のbinにパスが通っていれば、jshellとタイプするだけでJShell使うことが可能です。
C:\Program Files\Java\jdk-9\bin>jshell
| JShellへようこそ -- バージョン9
| 概要については、次を入力してください: /help intro
jshell>
コマンドプロンプトで対話形式でJavaのコーディングをすることができます。
Eclipseの「スクラップブック・ページ」と似ている気がします。
以下、例です。
jshell> String.valueOf(1)
$2 ==> "1"
jshell>
JShellでメソッド作成
JShellでメソッドを作成することが出来ます。
jshell> private void method(String arg) {
…> System.out.println(“test” + arg);
…> }
| 次を作成しました: メソッド method(String)
jshell>
メソッドが登録されたような感じになります。このメソッドは、以降使えるようになります。
以下、例です。
jshell> method("1234")
test1234
jshell>
JShellのコマンド
JShellには便利なコマンドがあります。
/list…これまで入力したコマンド履歴を表示します。
以下、例です。
jshell> /list
2 : String.valueOf(1)
3 : private void method(String arg) {
System.out.println("test" + arg);
}
4 : method("1234")
jshell>
1,2,…と言うようにIDと実行した履歴が表示されています。
/drop ID…該当するIDの実行コマンドを履歴から削除します。
以下、例です。
jshell> /drop 2
| 次を削除しました: 変数 $2
jshell>
これで、ID=2の実行コマンドを履歴より削除することが出来ます。
/ID…該当するIDの実行コマンドを実行します。
以下、例です。
jshell> /list
4 : method("1234")
5 : private void method(String arg) {
System.out.println("test" + arg);
}
jshell> /4
method("1234")
test1234
jshell>
ID=4の実行コマンドが実行されていることが分かります。
先ほどmethodというメソッドを作成しましたが、編集したい場合、editコマンドを使用します。
/edit メソッド名…メソッド内容を編集します
以下、例です。
jshell> /edit method
上記のようにタイプすると以下のアプレットが表示され、この画面で編集することが出来ます。
<編集前>
<編集後>
編集したら「Accept」をクリックします。
エラーがなければコマンドプロンプトに以下のように表示されます。
jshell> /edit method
| 次を変更しました: メソッド method(String)
これで「Exit」をクリックします。
すると、入力プロンプトが表示されます。
jshell> /edit method
| 次を変更しました: メソッド method(String)
jshell>
このようにメソッドの登録修正が行えます。
JShellを終了する
JShellを終了するのもコマンドで行います。
/exit…JShellを終了します。
以下、例です。
jshell> /exit
| 終了します
C:\Program Files\Java\jdk-9\bin>
一旦、JShellを終了するとメソッドは使えなくなります。
再度JShellを起動してmethodメソッドを実行してみます。
C:\Program Files\Java\jdk-9\bin>jshell
| JShellへようこそ -- バージョン9
| 概要については、次を入力してください: /help intro
jshell> method
| エラー:
| シンボルを見つけられません
| シンボル: 変数 method
| 場所: クラス
| method
| ^----^
jshell>
このようにエラーとなります。
一度作ったコマンドや実行履歴を残したい場合はファイルに保存することが出来ます。
/save…実行コマンド履歴をファイルに保存します。
以下、例です。
jshell> /save sample.txt
| '/save'のファイル'sample.txt'が例外をスローしました: java.nio.file.AccessDeni
edException: sample.txt
jshell> /save C:\Users\confrage\Documents\a.txt
jshell>
カレントディレクトリが「C:\Program Files\Java\jdk-9\bin」だった為、1回目の保存時はエラーとなっています。(アクセス権限がない為)
その場合はファイルをフルパスで記述するとエラーを回避することが出来ます。
saveしたファイルを読み込むには、openコマンドを使用します。
open…実行コマンド履歴ファイルを読み込みます。
C:\Program Files\Java\jdk-9\bin>jshell
| JShellへようこそ -- バージョン9
| 概要については、次を入力してください: /help intro
jshell> /open C:\Users\confrage\Documents\a.txt
testtest
jshell> /list
1 : public void method(String arg) {
System.out.println("test" + arg);
}
2 : method("test")
3 : String.valueOf("3")
jshell>
直前に実行したコマンドを実行する
まさしくシェルのように直前のコマンドを実行することもできます。
/!…直前に実行したコマンドを実行します。
その他色々コマンドがあるようです。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント