ホームページ >Java >&#&チュートリアル >Java の論理演算子
論理演算子は、1 つまたは 2 つの変数に対して演算を実行し、論理結果を評価および取得するために使用されます。通常、論理演算の戻り値はブール形式であり、プログラムの実行フローでより適切な制御を確立するためにプログラムに適用されます。 Java で使用される論理演算子は、AND 演算の実行には「&」、OR 演算には「|」、NOT 演算には「!」、XOR 演算には「^」です。
特定の入力に対する各操作の結果について、次の表を検討してみましょう。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
A | B | A&B | A|B | A^B | !A or ~A |
True (1) | True(1) | True (1) | True(1) | False (0) | False (0) |
True(1) | False(0) | False(0) | True(1) | True(1) | False(0) |
False(0) | True(1) | False(0) | True(1) | True(1) | True(1) |
False(0) | False(0) | False(0) | False(0) | False(0) | True(1) |
次の表に、演算子とその説明を示します。
Operator | Meaning | Description |
& | Logical AND | If both the inputs are True, then the result is True; if anyone input is False, the result will be False. |
| | Logical OR | The result is True if any of the input is True. The result will be false if both the inputs are False. |
! or ~ | Logical NOT | Logical NOT is a unary operator; it operates only on a single operand. It always outputs the negation of input value. |
^ | Logical XOR | The result is True if any one of the input is True. The result will be false if both the inputs are the Same. |
論理「&」演算子はデジタル AND 演算を実行します。この演算子は 2 つのブール値オペランドに作用し、結果はブール値になります。記号「&」または「&&」で表される AND 演算子、つまり短絡 AND 演算。
注: 単純な & 演算では、両方のオペランドの値、つまり Operand1 と Operand 2 がチェックされます。短絡 AND 演算 && では、最初の Operand1 の値がチェックされ、後でオペランド 2 の値が使用されます。オペランド 1 の値が true の場合にのみ。構文:
Operand1 & Operand2
Operand1 と Operand2 は任意のブール値です。
出力:
AND の真理値表:
A | B | A & B |
FALSE (0) | FALSE (0) | FALSE (0) |
FALSE (0) | TRUE (1) | FALSE (0) |
TRUE (1) | FALSE (0) | FALSE (0) |
TRUE (1) | TRUE (1) | TRUE (1) |
package com.java.demo; public class DemoAND { public static void main(String[] args) { boolean a=true; boolean b=false; int num1=0; int num2=1; boolean out1=(a & a); boolean out2=(a & b); boolean out3=(b & a); boolean out4=(b & b); System.out.println("True & True :"+out1); System.out.println("True & False :"+out2); System.out.println("False & True :"+out3); System.out.println("False & False :"+out4); if(num1 ==0 & num2 == 1) { System.out.println("The Condition is True...."); } } }
A と B
FALSE (0)
出力:
Operand1 || Operand2
2.論理和演算子「|.」 Java の論理 OR 演算子は、Java で実際のデジタル OR 演算を実行するために使用されます。この演算子は 2 つのブール値オペランドとともに使用され、結果はブール値、つまり true または false になります。 Java では、論理 OR 演算子は記号「|」で表されます。 (単純な OR) または「||」 (短絡または)。
出力:
A | B | A |B |
FALSE (0) | FALSE (0) | FALSE (0) |
FALSE (0) | TRUE (1) | TRUE (1) |
TRUE (1) | FALSE (0) | TRUE (1) |
TRUE (1) | TRUE (1) | TRUE (1) |
package com.java.demo; public class DemoOR { public static void main(String[] args) { boolean a=true; boolean b=false; int num=0; boolean out1=(a | a); boolean out2=(a | b); boolean out3=(b | a); boolean out4=(b | b); System.out.println("True | True :"+out1); System.out.println("True | False :"+out2); System.out.println("False | True :"+out3); System.out.println("False | False :"+out4); if(num == 0 | num == 1) { System.out.println("The Number is binary.."); } } }
False: 両方のオペランド値が False の場合。
OR の真理値表:
FALSE (0)
FALSE (0)
!Operand or ! ConditionTRUE (1)
出力:
オペランドは任意のブール値を保持します。条件は任意のブール値、つまり任意の論理演算の結果です。
A | !A |
FALSE (0) | TRUE (1) |
TRUE (1) | FALSE (0) |
public class DemoNOT { public static void main(String[] args) { boolean a=true; boolean b=false; int num1=0; int num2=1; boolean out1=(a ^ a); boolean out2=(a ^ b); boolean out3=(b ^ a); boolean out4=(!b ^ b); System.out.println("True ^ True :"+out1); System.out.println("True ^ False :"+out2); System.out.println("False ^ True :"+out3); System.out.println(!b+" ^ False :"+out4); System.out.println("a=true !a="+!a); if(!(num1 ==0) ^ (num2 == 1)) { System.<em>out</em>.println("The Condition is True...."); } } }
Output:
Logical XOR operator is a short form of Exclusive OR operator. This logical operator is when we have to check or compare the values of anyone operand is True then the output is true. In Java, Logical XOR is represented by the symbol “ ^ ”.This operator is Binary Logical Operator, i.e. can be used with two operands/conditions. Output this operator is also a Boolean value.
Syntax:
Operand1 ^ Operand2 or Condition1 ^ Condition2
Operand1 and Operand2 hold any Boolean values. Condition1 and Condition2 hold any Boolean values, i.e. output any logical operation.
Output:
Truth Table of XOR:
A | B | A ^ B |
FALSE (0) | FALSE (0) | FALSE (0) |
FALSE (0) | TRUE (1) | TRUE (1) |
TRUE (1) | FALSE (0) | TRUE (1) |
TRUE (1) | TRUE (1) | FALSE (0) |
public class DemoXOR { public static void main(String[] args) { boolean a=true; boolean b=false; int num1=0; int num2=1; int num3=5; int num4=7; boolean out1=(a ^ a); boolean out2=(a ^ b); boolean out3=(b ^ a); boolean out4=(b ^ b); System.out.println("True ^ True :"+out1); System.out.println("True ^ False :"+out2); System.out.println("False ^ True :"+out3); System.out.println("False ^ False :"+out4); System.out.println("5 ^ 7 ="+(num3 ^ num4)); System.out.println("0101 ^ 0111=0010"); if((num1 ==2) ^ (num2 == 1)) { System.out.println("The Condition is True...."); } } }
Output:
It makes java code more powerful and flexible. Use logical operators in conditional statements or looping statements to look very clean. The most important benefit of the logical operator is it reduces the code complexity. For example, it reduces the number of if…else conditional statements. This indirectly benefits in code compilation, run time etc.…overall code performance is increased.
以上がJava の論理演算子の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。