Javaの論理演算子と関係演算子の初心者向けガイド

Javaの論理演算子と関係演算子の初心者向けガイド

演算子は、値、変数、またはステートメントに対して操作を実行するために使用される記号です。これらのアクションを実行する式は、オペランドと呼ばれます。これらの演算は、リレーショナル演算子、等式演算子、および論理演算子のブール結果(trueまたはfalse)を返します。





演算子が取るオペランドの数によって、そのタイプが決まります。 1つのオペランドを取る演算子は、「単項」と呼ばれます。 2つのオペランドをとる演算子は、「バイナリ」と呼ばれます。





Javaで論理演算子と関係演算子を使用する方法を学ぶために読んでください。さらに良いことに、ほとんどのプログラミング言語は同じ演算子を使用しているため、この知識を他の場所に適用できます。





論理演算子

これらは、プログラミング中に論理ステートメントを作成するために使用されます。 Javaには6つの論理演算子があります。以下の表はそれらを要約したものです。

オペレーター名前タイプ
|ブール論理ORバイナリ
ブール論理積バイナリ
^ブール論理排他的論理和バイナリ
||条件付きORバイナリ
&&条件付きANDバイナリ
論理否定単項

一方または両方の条件が真であるかどうかを確認する場合は、この演算子を使用します。条件は、真または偽のいずれかになり得る式です。



ブール論理包括OR(|)

論理ORは、式を評価する前に、両方のオペランドが真であるかどうかをチェックします。

if ( dob <2005 | height <= 5){
money++;
}

上記の例では、生年月日(dob)が2005年未満の場合、または身長が5フィート以下の場合に、より多くのお金を与えることができます。





ブール論理積(&)

この演算子は、プログラムで特定の実行パスを使用する前に、両方の条件が真であるかどうかを確認するために使用されます。式全体を評価する前に、まず両方の条件が真であるかどうかを確認します。

関連:Pythonでブールメソッドを使用して文字列を検証する方法





ブール論理排他的論理和(^)

条件の1つが真であるかどうかを確認したいが、両方は真ではない場合、これが使用する演算子です。以下の真理値表は、それを使用したときに表示される結果をまとめたものです。

式1式2式1 ^式2
NSNSNS
NSNSNS
NSNSNS
NSNSNS

ブール条件付きAND(&&)

この演算子は論理積に似ています。違いは、右側の条件をチェックする前に、まず左側の条件が真であるかどうかをチェックすることです。

左側の部分がfalseであることが判明した場合、実行はすぐに停止します。それ以外の場合は、適切な部分の評価が続行されます。この機能は、短絡評価として知られています。

この演算子の理解を深めるには、以下の真理値表を参照してください。

式1式2式1 &&式2
NSNSNS
NSNSNS
NSNSNS
NSNSNS

条件付きOR(||)

いずれかの条件がfalseの場合、実行はプログラムの次の部分にスキップします。つまり、両方の条件が真でなければなりません。

この演算子は論理ORに似ています。また、特定のコードを実行する前に、条件のいずれかまたは両方が真であるかどうかもチェックします。

条件付きANDと同様に、論理ORも短絡評価を使用します。右側のオペランドを評価する前に、まず左側のオペランドが真であるかどうかをチェックします。

関連している: Javaのコンストラクターとは何ですか?どのように使用しますか?

FacebookをInstagramから切断する方法

左側の条件が真であることが判明した場合、右側の条件を確認する必要はありません。それ以外の場合は、右側の評価が続行されます。

論理否定(!)

この演算子は、条件を否定するために使用されます。それは単にそれが操作しているものの意味を逆にします。

if(!(x>5)){
// statements
}

上記のステートメントは、「xが5より大きい」が真でない場合、内部のステートメントを実行することを意味します。 もしも

式(x> 5)で丸括弧が使用されていることに注意してください。プログラムの作成時にこれらの角かっこを含めないと、コンパイル時エラーが発生します。理由は 条件に作用する単項演算子です。角かっこがないと、コンパイラーはそれをx> 5ではなく、xに作用する演算子として解釈します。

角かっこを含めることは、コンパイラが式を正しく解釈できるようにするためだけのものではありません。これらは、プログラマーがより複雑な式をよりよく理解するための方法としても使用できます。以下の例を見てください。

age >= 7 && height <5

一部の人々は、ロジックを実行するのが難しいと感じるかもしれません。したがって、一部のプログラマーは、読みやすさの理由から冗長な括弧を追加することを好みます。

(age >= 7) && (height <5)

関係演算子

これらの演算子は、オペランド間の単純な関係を比較するために使用されます。

オペレーター名前
>>大なり記号
<未満
> =以上
<=以下

関係演算子はすべて、すでに慣れ親しんでいる通常の代数演算子と同じ意味を持っているため、かなり理解しやすいです。つまり、 >>< 上記の表に示されているのと同じ意味をすでに知っています。

if( x <= 7 ){
x++;
}

上記 もしも ステートメントは、xが7以下であるかどうかをチェックします。trueの場合、括弧内のステートメントは実行されます。それ以外の場合は実行されません。

ここで、等式演算子について言及する良い機会です。それらは2つだけです(等しい、==と!=、等しくない)。それらの名前が示すように、2つのオペランド間の同等性をテストするために使用されます。

関連している: Javaで配列の操作を作成および実行する方法

等式演算子(==)を代入演算子(=)と混同しないでください。初心者のプログラマーは、この2つを混同するのが好きです。代数では記号(=)が平等を表すために使用されるため、これは合理的です。しかし、それはプログラミングでは正しくありません。

代入演算子(=)は変数に値を割り当て、等価演算子(==)は等価性をテストします。違いを理解するには、以下の例を参照してください。

if(x=5){
// statements
}

上記のコードは、xが実際に5に等しいかどうかに関係なく常に実行されます。一方、以下のコードは、xが5に等しい場合にのみ実行されます。したがって、2つを混同しないことが重要です。

if(x==5){
// statements
}

上記の2つの等式演算子は、関係演算子よりも低いものの、同じレベルの優先順位を持っています。

関係演算子にも同じレベルの優先順位があります。これらの演算子の実行は、左から右に始まります。

Java演算子に関するその他の考慮事項

一部の例では、一部の演算子とそのオペランドの間に空白があることを確認したはずですが、他の例では空白がありません。

そのスペースの不在/存在はあなたを心配するべきではありません。コンパイラはそれを無視します。したがって、次の式は同じことを意味します。

Y>=7 // no whitespace
Y >= 7 // with whitespace

関係演算子は通常、単純な条件を表すために使用されます。単純な条件をより複雑な条件に組み合わせるには、論理演算子を使用する必要があります。論理演算子は、1つの条件をテストするだけの関係演算子とは異なり、複数の条件をテストできます。

論理演算子(|、&、^)は、整数のオペランドがある場合、ビット単位の演算子になる可能性があることに注意することも重要です。ビット演算子として使用する場合、それらはオペランドのビットを操作します。

この演算子の知識があれば、Javaクラスの学習に向けて準備を整えることができます。

共有 共有 つぶやき Eメール Javaでクラスを作成する方法を学ぶ

Javaでプログラミングすることを学んでいる場合は、クラスの作成方法を知っている必要があります。

次を読む
関連トピック
  • プログラミング
  • Java
  • コーディングチュートリアル
著者について ジェローム・デビッドソン(22の記事が公開されました)

ジェロームはMakeUseOfのスタッフライターです。彼はプログラミングとLinuxに関する記事をカバーしています。彼は暗号愛好家でもあり、常に暗号業界を監視しています。

ジェローム・デビッドソンのその他の作品

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください