Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。Jigsaw)について解説しました。Kulla)を紹介します。JShellはJavaの仕様や動作などの変更とは違い、より広い利用者にJavaを使ってもらう、または、より便利にJavaを使ってもらうといった目的のために用意されたツールです。9で提供される新たなツールの1つです。JShellを使えば、コードをjavaコマンドでコンパイルし、その後、javaコマンドで実行するという手順を行わなくても、実行結果が確認できます。loop)と呼びます。9のSDKから標準で利用できるREPL環境です。[Note]さまざまなREPLREPL環境について他の言語も含めて体験してみたい方は、さまざまな言語でREPL環境を提供しているWebサービス、「repl.it」を利用してみてください。IDEAなどのIDE環境をそろえるのが普通でした。他の言語での開発、特にスクリプト言語と比べると、たった1行のコードを実行するにも、実行までの手間がかかることが分かると思います。JavaScriptなら、リスト1のコードを実行するだけで結果が確認できます。JavaScriptで"hello"という文字列を表示したい場合のコード例console.log("hello");しかしJavaの場合は、リスト2の通り必ずmain文の中に処理を記述する必要があります。}}この程度の違いであればいいですが、実際に学習が進むと、標準で提供されているAPIだけでなく、オープンソースなどで提供されているライブラリを使うようになります。実際の開発に近いレベルで学習するとなると他の環境に依存する割合が高いため、repl.itなどのサービスで対応することは難しくなるはずです。そこで、JavaはJShellというツールを標準で用意しました。JShellは学習目的に特化しているわけではなく、以下の用途で利用可能です。Javaの学習目的APIの動作確認や、記事やサイトなどのサンプルコードの動作確認テストJShellの基本的な利用方法それでは、実際にJShellを使ってみましょう。jshellコマンドを実行すると、リスト3の通り表示されます。introjshell>この状態は、すでにリスト4の(1)のmainメソッドの中にいるイメージです。ここから自分で好きなコードを記述していけばいいので、簡単に結果を確認できます。コードは順次実行していきます。その場で実行結果を表示でき、JShellという名前の通りShellコマンドを実行するように利用が可能です。}}それ以外にもJShell上でコードを確認する場合、これまでのJavaと同じコードを書く必要はなく、よりコードの確認がしやすいようになっています。その違いは以下のリスト5(Base64でのエンコード・デコードコード)を見るとわかります。終了します通常のソースコードを書く場合と最も異なるのは、(1)のように変数を定義する必要はなく、自動的に${数値}のような変数が定義される点です。自分で定義すればその変数名で定義が可能です。(2)や(3)のように、実行した際のオブジェクトの中身がわかりやすい形式で表示されます。そのためJShellでは、変数の内容を確認するためにSystem.out.printlnなどのメソッドを利用する必要はありません。このように逐次、実行状況やオブジェクトの状況が確認しやすくなっています。終了するときは(4)の通り/exitで終了します。JShellでのコード記述をより便利するエディタ機能Javaのソースを記述する際は、テキストエディタではなくIDEを使うのが一般的でしょう。その理由の1つに、利用できるクラスやメソッドの自動補完機能やインラインヘルプ機能の存在があります。JShellでも同様に、タブキーを押すことでリスト6のように対象を表示してくれます。対象が1つのみの場合は自動的に残りの部分のコードも補完されます。メソッドの引数の説明なども表示することも可能です。以下省略なお、JShell内ではクラスを作成することなく、リスト7の通りメソッドも作成できます。作成したメソッドはJShell内でのグローバルなstaticメソッドとして定義されます。}このような動作確認であれば、JShellのほうがIDEを用いるよりも簡単にできるはずです。NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Technologies。執筆コミュニティ「WINGSプロジェクト」代表。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。12:00法務担当者、6割超が今後業務で「生成AIを使用したい」と回答。NEW新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。