• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

最新Java情報局

Java SE 9で導入される「Project Kulla」、便利なREPLツール

櫻庭 祐一=Java in the Box 2017/02/09 ITpro

 今月から、Java SE 9で導入されるProject Kullaについて紹介していきます。Project KullaはOpenJDKのサブプロジェクトで、JShellというツールの仕様策定、実装を行っています。Project KullaのリードはOracleのRobert Field氏、また日本からは吉田真也氏がコミッタとして参加しています。

 JShellはいわゆるREPL(Read-Eval-Print Loop)ツールで、Javaのコードをインタラクティブに入力し、その場で実行できるツールです。

 Java SE 9は2017年7月にリリース予定ですが、既にEarly Accessは公開されています。本記事でも、Java SE 9のEarly Accessを使用していきます。Early Accessのビルドは毎週行われており、本記事ではBuild 153を使用しました。

JShellとは

 前述したようにJShellは、JavaのREPLツールです。REPLツールは入力をその場で評価、実行を行い、結果を出力することを繰り返すツールです。多くの言語でREPLツールは提供されており、JVM言語であるScalaやGroovyでも提供されています。Java SE 9で、やっとJavaでもREPLが使えるようになるわけです。

 こういうツールは、試してみるのが一番です。早速やってみましょう。

 JShellはJDKだけの機能で、 JDKをインストールしたディレクトリーのbinディレクトリーに配置されています。必要に応じて、パスを通しておいてください。パスが通っていれば、jshellで起動します。

C:> jshell
|  JShellへようこそ -- バージョン9-ea
|  概要については、次を入力してください: /help intro
|

jshell>

 JShellを起動すると、プロンプトが表示されるので、ここにJavaのコードを入力していきます。

 やはり、はじめは"Hello, World!"でしょうか。Javaで"Hello, World!"を表示させるには、クラスを作成して、mainメソッドを実装する必要があります。しかし、JShellではその必要はありません。

jshell> System.out.println("Hello, World!")
Hello, World!

jshell>

 上図では分かりにくいですが、printlnメソッドのコールを記述した後に、[Enter]キーを入力して改行しています。改行すると、JShellはその行を評価し、実行します。

 つまり、JShellでは、このようにJavaのクラスやメソッドを定義しなくても、式や文を記述することができます。また、行末のセミコロンも省略することができます。

 さらに書いていきましょう。

jshell> int x = 10
x ==> 10

jshell> x++
$5 ==> 10

jshell> System.out.println(x)
11

jshell>

 1行目で変数xを定義し、次の行でインクリメントしています。入力した変数は保持されていて、次行以降でも使用可能です。ここでも、変数xの値がインクリメントして11になっていることが分かります。

 ここまでで示したように、JShellでは簡単にコードを試せます。JShellで扱うコードは、Javaのコードの断片という意味でスニペットと呼ばれます。

 JShellを終了させるには[Ctrl]+[D]を入力します。また、"/exit"でも終了できます。

ここから先はITpro会員(無料)の登録が必要です。

次ページ 複数行の入力
  • 1
  • 2
  • 3
  • 4
  • 5

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る