CodeGym /Java Blog /ランダム /Java ブール値
John Squirrels
レベル 41
San Francisco

Java ブール値

ランダム グループに公開済み
Java 言語のコンテキストにおける「ブール」という単語は、非常に関連しているとはいえ、さまざまな意味で使用できます。かもしれない:
  • ブール型プリミティブ型またはこの型のブール型変数
  • Java BooleanクラスまたはBooleanラッパー オブジェクト
  • ブール式、ブール値、何らかの条件
  • Javaのブール演算子
この記事では、これらのオプションをすべて取り上げ、ブール式の基礎となる概念について説明します。 Java ブール値 - 1

一般的な意味でのブール値とは何ですか

ブール式の概念は数学、あるいはむしろ数学的論理から生まれました。命題代数におけるブール式、真または偽と言える式です。例えば:
「雪は白い」「ワニは飛べる」「2+2=4」「1+1=21」
同時に、「2」または「snow」はブール式ではありません。

Java ブールプリミティブデータ型とブール変数

Java のブール値について言えば、まずブール値プリミティブ データ型とこの型のブール変数が考えられます。おそらくすでにご想像のとおり、この型の変数は true と false の 2 つの値のみを取ることができます。Java には非常に厳しい制限があります。Javaのブール値は他のデータ型に変換できず、その逆も同様です。特に、 Java のブール値は整数型ではないため、ブール値の代わりに整数値を使用することはできません。ブール型を直接設定する例を次に示します。

boolean myBoolean; //boolean variable
myBoolean = false; 
boolean myBoolean1 = true; //another boolean variable
ここには 2 つのブール変数が あります。ブール型を使用する例を含む小さなプログラムを作成してみましょう。

//boolean variable example
public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       System.out.println(myBoolean);
   }
}
このプログラムはコンソールに「false」を出力します。ちなみに、ブール変数はデフォルトで false に設定されますが、Java では初期化されていないローカル変数を操作することはできません。

Java のブール式

ブール変数を明示的に true または false に初期化するだけでなく、ブールデータ型は多くの場所で暗黙的に使用されます。数値の加算の結果が数値になるのと同様に、比較の結果も true または false、つまりブール型になりますこれは、ブール変数代入ステートメントを通じてブール値を直接指定することに加えて、ブール値は5 > 2などのさまざまな比較の結果として得られ、主に条件ステートメントやループ ステートメントで使用されることを意味します。ブール型の使用例を次に示します。

public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       int a = 5;
       int b = 7;
       System.out.println(a < b);
       System.out.println(0 > 7);
       System.out.println(myBoolean == false);
   }
}
出力は次のとおりです。
真偽真
a < b の場合、<演算子は左側の式と右側の式を比較します。比較結果を画面に表示しました。5 < 7 (ステートメントは true)なので、値true がコンソールに出力されます。2 番目のケースでは、0 と 7 の直接比較を表示し、3 番目のケースでは、変数myBooleanの値がfalse かどうかを尋ねます。この場合、値trueを出力します。実際、 Java でブール式を作成するには、任意の比較演算子を使用できます。
比較演算子 Java オペレーター 操作例 操作の結果
以下 < a < b aがbより小さい場合はtrue 、それ以外の場合はfalse
グレーター > a > b aがbより大きい場合はtrue、それ以外の場合はfalse
以下 <= a <= b a がbより小さいか等しい場合はtrue、それ以外の場合はfalse
以上 >= a >= b a がb以上の場合はtrue、それ以外の場合はfalse
同等 == a == b a がbに等しい場合はtrue、それ以外の場合はfalse
等しくない != a != b a がbと等しくない場合はtrue 、それ以外の場合はfalse

ブール値が使用される場所

ブール値と条件式は、分岐ステートメント、三項演算子、ループの条件でよく使用されます。実際、それらの使用は特定のブール式のチェックに基づいています。例えば:

public class BoolTest2 {
       public static void main(String[] args) {
           int i = 0;
           while (i <= 10)
           {
               System.out.println(i);
               i++;
           }         
      }
}
このプログラムは一連の整数を出力し、while の後の括弧内の条件が満たされている限り、整数を 1 ずつ増分します。つまり、式i <=10は true です。

Java のブール演算子。ブール演算子を使用したブール式の構築

Java では次の論理 (またはブール) 演算が使用できます。
  • 論理否定、NOT または反転でもあります。Java では、記号!で示されます。表現の前に。

  • 論理積、AND または論理積でもあります。適用される 2 つの式の間の記号&で示されます。

  • 論理または Java では、OR であり、論理和でもあります。Java では、記号|で表されます。2 つの式の間。

  • 排他的論理和、XOR、厳密な論理和。Java では、2 つの式の間の記号^で示されます。

  • Java では、論理演算子には、 ||として示される条件付き or が含まれます。、条件付き and &&も同様です。

Java の各ブール演算子を簡単に説明した表を見てみましょう。以下では、それらの演算子をより詳細に説明し、コード例を示します。表内の「オペランド」とは、演算子が適用される論理式または変数を意味します。

a | b == true
Java のブール演算子 名前 タイプ 説明
論理的な「否定」 単項 !x は「x ではない」を意味します。xがfalseの場合はtrueを返します。xtrueの場合はfalseを返します。

boolean x = true;

それから


// !x == false
& 論理「and」(および、論理積) バイナリ (a & b) ab の両方がtrueの場合、trueを返します。

a = true;
b = false;

それから


a & b == false
| 論理和(論理和) バイナリ (a | b) は、aまたはbまたはその両方がtrueの場合にtrueを返します。

a = true;
b = false;

それから

^ 排他的論理和 (XOR) バイナリ (a ^ b) は、オペランド (a または b) の 1 つだけがtrueの場合にtrueを返します。abの両方が同時に true または false の場合、falseを返します。実際、aがbに等しくない場合はtrueを返します。

a = true;
b = false;

それから


a ^ b == true
&& 条件付き AND (論理 AND の省略形) バイナリ a && bこれはa & bと同じですが、 a がfalseの場合、演算子はbをチェックせずにfalseを返します。
|| 条件付き OR (論理 OR の略称) バイナリ || bはa |と同じです。bですが、atrueの場合、演算子はbをチェックせずにtrueを返します。
Java では、演算子&|が使用されることに注意してください。および^ は整数にも適用されます。この場合、それらの動作は少し異なり、ビット単位 (またはビット単位) 論理演算子と呼ばれます。例として、論理演算子を使用して構成されたいくつかの論理式を表示してみましょう。

public class BoolTest2 {
   public static void main(String[] args) {
   int a = 5;
   int b = 7;
   boolean myBool1 = true;
   boolean myBool2 = false;
       System.out.println(myBool1&myBool2);
       System.out.println(myBool1|myBool2);
       System.out.println(!myBool1);
       System.out.println((a > b) & !myBool1 | myBool2);
   }
}
出力は次のとおりです。
false true false false
実際、論理演算子を使用すると、非常に複雑な論理構造を作成できます。例えば
(a<!b)&(q+1 == 12)^(!a | c & b > 1 + b)|(q ^ a > !b)
すべての変数が初期化されている場合、そのような構造は機能します。ただし、コードを読みにくくするので乱用しないでください。それにもかかわらず、このような論理構造を扱うことは非常に便利です。表に示されている他の論理演算子を使用して論理式を作成してみてください。

論理演算の優先順位

数学と同様、プログラミングでも、演算子が同じ式内に出現する場合、演算子には特定の実行順序があります。単項演算子は二項演算子よりも優れており、乗算 (論理的であっても) は加算よりも優れています。以下に、トピックのリストの上位に配置される論理演算子を示します。これらの論理演算子の優先順位は高くなります。
  • &

  • ^

  • |

  • &&

  • ||

Java ブール値ラッパー

Java では、各プリミティブ型には「兄弟」であるラッパー クラス ( Wrapper ) があります。ラッパーは、プリミティブの値を内部に格納する特別なクラスです。ただし、これはクラスなので、そのインスタンス (オブジェクト) を作成できます。これらのオブジェクトは実際のオブジェクトですが、内部にプリミティブの必要な値を格納します。Java Boolean プリミティブ型には、ラッパー Java Boolean (大文字の B) クラスがあります。Boolean Class オブジェクトは、他のオブジェクトと同様に作成されます。

Boolean b = new Boolean(false);
Java Booleanクラスには便利なメソッドがあります。これらの中で最も興味深いものの 1 つは、parseBooleanメソッドです。 static boolean parseBoolean(String s)メソッドは、文字列引数をブール値として解析します。文字列引数が null ではなく、大文字と小文字を区別せずに文字列「true」と等しい場合、返されるブール値は値trueを表します。それ以外の場合はfalseを返します。

parseBoolean メソッドの例


public class BoolTest2 {

        public static void main(String[] args)
        {
            System.out.println(Boolean.parseBoolean("True"));
            System.out.println(Boolean.parseBoolean("TRuE"));
            System.out.println(Boolean.parseBoolean("False"));
            System.out.println(Boolean.parseBoolean("here"));

        }
    }
出力は次のとおりです。
true true false false
学んだことをさらに強化するには、Java コースのビデオ レッスンを視聴することをお勧めします。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION