Java 9のJShellで関係演算子と論理演算子を試す方法
Java 9で導入されたJShellは、Java言語の機能や豊富な標準ライブラリを対話的に探索・実験できる強力なREPLツールです。この記事では、JShellを使って関係演算子と論理演算子の動作を実際に確認してみましょう。
関係演算子とは
関係演算子(==、!=、<、>、<=、>=)は、主に値の比較に使用される演算子です。boolean型以外のプリミティブ型のオペランドを受け取り、評価結果としてboolean値(trueまたはfalse)を返します。
論理演算子とは
JShellでは、式の中で使用できる論理演算子もサポートされています。論理演算子はboolean型のオペランドを受け取り、これらを組み合わせた式は、if文、for文、while文などの制御構造でboolean条件を構成するために活用できます。主な論理演算子は以下の3種類です。
- &&:論理AND(両方がtrueの場合にtrue)
- ||:論理OR(どちらか一方でもtrueの場合にtrue)
- !:論理NOT(真偽値を反転させる)
JShellで関係演算子を試す
以下の2つのコードスニペットでは、JShell上で関係演算子を実装し、その評価結果を確認しています。
スニペット1:基本的な比較操作
jshell> int i = 10;
i ==> 10
jshell> i > 10;
$2 ==> false
jshell> i >= 10;
$3 ==> true
jshell> i < 10;
$4 ==> false
jshell> i <= 10;
$5 ==> true
jshell> i == 10;
$6 ==> true
jshell> i == 20;
$7 ==> false
変数iが10であるため、「より大きい」「より小さい」の比較はfalse、「以上」「以下」「等しい」の比較はtrueになっていることがわかります。
スニペット2:複合条件と変数の再代入
jshell> int i = 15;
i ==> 15
jshell> i >= 15
$1 ==> true
jshell> i <= 15
$2 ==> true
jshell> i >= 15 && i <= 25
$3 ==> true
jshell> i == 30;
$4 ==> false
jshell> i = 30;
i ==> 30
jshell> i >= 15 && i <= 25;
$5 ==> false
ここでは、関係演算子と論理演算子を組み合わせた「i >= 15 && i <= 25」という範囲チェックを行っています。iが15の間はtrueですが、30に再代入するとfalseに変わることが確認できます。
JShellで論理演算子を試す
次のコードスニペットでは、論理演算子のすべての組み合わせに対する評価結果を確認できます。
jshell> true && true
$1 ==> true
jshell> true && false
$2 ==> false
jshell> false && true
$3 ==> false
jshell> false && false
$4 ==> false
jshell> true || true
$5 ==> true
jshell> true || false
$6 ==> true
jshell> false || true
$7 ==> true
jshell> false || false
$8 ==> false
&&(AND)は両方のオペランドがtrueのときだけtrueを返し、||(OR)は少なくとも一方がtrueであればtrueを返すことが一目でわかります。
まとめ
このように、JShellを活用すれば、関係演算子や論理演算子の動作を一行ずつ手軽に検証できます。クラスやメソッドを定義してコンパイル・実行する必要がないため、Javaの演算子の挙動を学習したり、条件式のロジックを素早く確認したりする際に非常に便利なツールです。
-
Java 9でJavaFXを使ってJShellをプログラムから実装する方法
JShellは、サンプル式を対話的に実行できるツールです。通常はコマンドラインから利用しますが、JavaFXアプリケーションの中でプログラム的にJShellを実装することも可能です。その場合、Javaプログラムに以下のパッケージをインポートする必要があります。import jdk.jshell.JShell; import jdk.jshell.SnippetEvent; import jdk.jshell.VarSnippet;これらのクラスの役割は次のとおりです。JShell:評価エンジンの本体。式や文を評価(eval)するためのAPIを提供します。SnippetEvent:評価結果として
-
Java 9のJShellでスニペットを保存・編集・削除する方法
Java Shell、通称JShellは、Java 9で正式に導入された公式のREPL(Read-Evaluate-Print-Loop)ツールです。対話型シェルを提供し、main()メソッドを作成したり、コードを実行前にコンパイルしたりすることなく、迅速なプロトタイピングやデバッグを行うことができます。JShellは、コマンドプロンプトで「jshell」と入力するだけで簡単に起動できます。この記事では、JShellで作成したスニペット(コード断片)を保存、編集、削除する方法を解説します。スニペットを保存する(/save)スニペットのソースコードをファイルに保存するには、「/save [-al