Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9のJShellで冗長モード(verbose)を設定する方法


JShellとは

JShellは、Java 9で新たに導入されたREPL(Read-Eval-Print Loop)ツールです。コマンドラインプロンプト上で簡単なコードスニペットをその場で入力・実行できるため、動作確認やJavaの学習に非常に便利なツールとして広く利用されています。

冗長モード(verboseモード)とは

JShellで算術式や変数などを入力すると、結果のみが表示され、作成された変数の型などの詳細情報はデフォルト設定では表示されません。入力したコマンドの実行内容について、より詳しい情報を確認したい場合は冗長モードを活用しましょう。

冗長モードを有効にするには、JShell内で以下のコマンドを実行します(先頭の「/」は省略して入力することも可能です)。

jshell> /set feedback verbose
| Feedback mode: verbose

このコマンドを実行すると、フィードバックモードがverboseに切り替わり、以降の操作に対して詳細な情報が表示されるようになります。

冗長モードの実行例

以下は、冗長モードをオンにした状態での実行例です。式を評価したり、変数やメソッドを定義したりするたびに、作成された変数の名前や型(double、String、intなど)が詳細に出力されているのがわかります。

C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro

jshell> /set feedback verbose
| Feedback mode: verbose

jshell> 5.0 * 8
$1 ==> 40.0
| created scratch variable $1 : double

jshell> String str = "TutorialsPoint";
str ==> "TutorialsPoint"
| created variable str : String

jshell> void test() {
...> System.out.println("Tutorix");
...> }
| created method test()

jshell> test()
Tutorix

jshell> String str1 = new String("Tutorix");
str1 ==> "Tutorix"
| created variable str1 : String

jshell> "TutorialsPoint" + "Tutorix" + 2019
$6 ==> "TutorialsPointTutorix2019"
| created scratch variable $6 : String

jshell> int test1() {
...> return 10;
...> }
| created method test1()

jshell> test1()
$8 ==> 10
| created scratch variable $8 : int

出力内容のポイント

  • $1 ==> 40.0:変数名を明示せずに式を評価すると、JShellが自動的に「$1」のようなスクラッチ変数を生成します。
  • | created scratch variable $1 : double:冗長モードによって、自動生成された変数の名前と型が表示されます。
  • | created variable str : String:明示的に宣言した変数についても、変数名と型を確認できます。
  • | created method test():メソッドを定義した際にも、その作成が通知されます。

このように冗長モードを有効にすると、JShellが内部でどのような変数やメソッドを作成したのかをひと目で把握できるため、学習やデバッグの効率が大きく向上します。なお、元のフィードバックモードに戻したい場合は、「/set feedback normal」を実行してください。

  1. Java 9でJavaFXを使ってJShellをプログラムから実装する方法

    JShellは、サンプル式を対話的に実行できるツールです。通常はコマンドラインから利用しますが、JavaFXアプリケーションの中でプログラム的にJShellを実装することも可能です。その場合、Javaプログラムに以下のパッケージをインポートする必要があります。import jdk.jshell.JShell; import jdk.jshell.SnippetEvent; import jdk.jshell.VarSnippet;これらのクラスの役割は次のとおりです。JShell:評価エンジンの本体。式や文を評価(eval)するためのAPIを提供します。SnippetEvent:評価結果として

  2. Discordストリーマーモードの設定方法を徹底解説

    Discordは、複雑なチーム環境でプレイするゲーマー向けのチャットツールとして誕生しました。しかし現在では、用途はゲーマーにとどまらず、最も便利なコミュニケーションプラットフォームの一つとして幅広く活用されています。本記事では、Discordの「ストリーマーモード」の設定方法と、この機能について知っておくべきすべての情報をご紹介します。 Discordストリーマーモードとは? 市場には数多くの配信アプリやサービスが存在します。優れたものもありますが、高負荷なゲームを配信している最中にフリーズしてしまう製品も少なくありません。さらに、たとえ評判の良い配信ソフトでも、画面全体をそのまま配信してし