Java 論理演算子

論理演算子は、複数の条件を指定する時や、
真偽値の逆転処理を行う事ができます。

論理演算子には、&& || ! の3つがあります。
それぞれ次のような使い方ができます。

条件に合う場合は、条件に合わない場合はを返します。

&&の使い方

例)数学のテストが80点以上で、
さらに国語のテストが80点以上なら

( suugaku >= 80 && kokugo >= 80 )

||の使い方

例)数学のテストが80点以上、
もしくは国語のテストが80点以上なら

( suugaku >= 80 || kokugo >= 80 )
スポンサーリンク

!の使い方

例)数学のテストが80点以上ではない場合は

( !(suugaku >= 80) )

boolean型を使った場合

boolean b;
b = true;

( b )       // 真になる
( !b )      // bを逆転させるので、偽になる
            // つまり、bがtrueだったら、偽
            //     bがfalseだったら、真となる

論理演算子の優先度

複数の論理演算子が使われている場合は、
どれが先に実行されるかが重要になります。

そのため、どの演算子が優先的に実行されるかを表す優先度があります。

優先度は、高い方から! && ||となります。

プログラム例

例)数学のテストが80点以上で、
  国語のテストが80点以上の場合、
または
  理科のテストが80点以上で、
  社会のテストが80点以上の場合は

( suugaku >= 80 && kokugo >= 80 || rika >= 80 && shakai >= 80)

例)数学のテストが80点以上の場合、
または
  国語のテストが80点以上で、
  理科のテストが80点以上の場合、
または
  社会のテストが80点以上の場合は

( suugaku >= 80 || kokugo >= 80 && rika >= 80 || shakai >= 80)

例)数学のテストが80点以上ではなく
  国語のテストが80点以上の場合、
または
  理科のテストが80点以上の場合、

( !suugaku >= 80 && kokugo >= 80 || rika >= 80 )

優先度はありますが、
常にカッコを付ければ優先度に関係なく記述できるので、
私はそうしています。