Java での&と&&の違い

Siddharth Swami 2023年10月12日
Java での&と&&の違い

Java の演算子は、一連の値に対して必要な操作を実行できるシンボルです。Java には、論理、算術、ビット単位など、さまざまなタイプの演算子タイプがあります。

このチュートリアルでは、Java の&演算子と&&演算子の違いを調べて理解しようとします。

&演算子はビット演算子です。ビット単位の演算子は、基本的に、数値の個々のビットを操作および操作するために使用されます。オペレーターの両側で動作します。ビット単位の&演算子は、オペランドに対してビットごとに AND 演算を実行する二項演算子です。

次のコードは、&演算子の使用法を示しています。

public class operators {
  public static void main(String[] args) {
    int a = 5;
    int b = 7;
    System.out.println("a&b = " + (a & b)); // 0101 & 0111=0101 = 5
  }
}

出力:

a&b = 5

&&は、ブールオペランドで機能する論理 AND 演算子です。名前が示すように、論理演算子は論理演算を実行し、2つ以上の条件を組み合わせることができます。これらは、任意の形式のデータ型で使用できます。

論理&&演算子は、両方の条件が真の場合に真を返します。オペランドを左から右に評価します。各オペランドをブール値に変換し、操作後に元の値を返します。

次のコードは、&&演算子を示しています。

import java.io.*;

class Logical_Operator {
  public static void main(String[] args) {
    int a = 10, b = 20, c = 20 System.out.println("Var1 = " + a);
    System.out.println("Var2 = " + b);
    System.out.println("Var3 = " + c);
    if ((a < b) && (b == c)) {
      System.out.println("True Conditions");
    } else
      System.out.println("False conditions");
  }
}

出力:

A = 10
B = 20
C = 20

True Conditions

上記の例では、両方の条件が真です。そのため、True Conditions が出力されます。それらの 1つが偽であったとしても、False Conditions が公開されていたでしょう。

関連記事 - Java Operator